День добрый, второй день маюсь с проблемой - имеется сервер (файлообменник) на который я могу заливать только по ФТП. Все вроде ничего, есть рабочий скрипт, который в цикле массива
decodarray выполняет логин к серверу,заливает файл и дисконнектится.
$file_name = '/var/www/www-root/data/www/domain.com/images/'.trim($decodarray[$i]['fname']);
$ftp_file = trim($decodarray[$i]['fname']);
$ftp = ftp_connect($ftp_server, $ftp_port, 20);
ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
ftp_pasv($ftp, true);
if(!ftp_fput($ftp, $ftp_file, $file_name, FTP_BINARY)){
echo "ERROR";
}
ftp_close($ftp);
Скрипт проверенный неоднократно, но вот на этом сервере работает ка к-то странно - заливает только30% всех файлов. При этом нету никакой зависимости от размера файла - выдает ошибку как на маленькие (20Мб) так и на файлы до 1гига. Из-за того что функция выдает только true или false не могу понять причину иисправить ее. Какие есть варианты решения возникшей проблемы?
А, да, ... в логах естественно все чисто :(
Запустил под SSH. и о, чудо....
когда никаких сообщений нету, файл льется, а когда выдается предупреждение "
PHP Warning: ftp_put(): type set." или "
PHP Warning: ftp_put(): Opening ASCII mode data connection" то файл на заливается. что за ерунда? Тип передачи ведь задан явно. как он может меняться в аски?