<?php
error_reporting(E_ALL | E_STRICT);
//функция подсчета количества файлов на фтп
/*
$ftp_type - протокол ftp или sftp
$ftp_host - хост фтп
$ftp_port - порт фтп
$ftp_user - пользователь фтп
$ftp_pass - пароль фтп
$ftp_dir - директория для подсчета на фтп
*/
function ftp_count($ftp_type, $ftp_host, $ftp_port, $ftp_user, $ftp_pass, $ftp_dir){
$curl = curl_init();
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl, CURLOPT_URL, "$ftp_type://$ftp_host:$ftp_port/$ftp_dir");
curl_setopt($curl, CURLOPT_USERPWD, "$ftp_user:$ftp_pass");
curl_setopt($curl, CURLOPT_FTPLISTONLY, TRUE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
//curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'LIST'); // get directory list
$ftp_result = curl_exec($curl);
curl_close($curl);
$curl_array = explode(PHP_EOL, $ftp_result);
foreach($curl_array as $val){
if (!preg_match('/^d/', $val) && $val != ''){
$filesftp_array[] = $val;
}
}
$count_files = count($filesftp_array);
return $count_files;
}
PHP — curl, функция для подсчета файлов на фтп
Добавить комментарий