В PHP есть много функций для работы с FTP
php.net/manual/ru/book.ftp.php но при их использовании у меня возникает проблема такого рода: если скрипт загружает файл на сервер и тут же обращается к нему через HTTP, то выдается 404 ошибка, то есть файл как бы не загружен. Однако если добавить sleep() после загрузки, то все проходит успешно.
Примерный код:
// загружаем файл на фтп
$ftp = new Ftp($server, $user, $password);
$ftp->uploadFile($fileName);
$ftp->close();
// заснем чтобы подождать окончания работы фтп
sleep(10);
// вызываем файл GET запросом
$culr = new Curl();
$result = $curl->get('http://somesite.ru/' . $fileName);
Этот код рабочий, но если убрать sleep() то он перестает работать, $curl отдает 404 ошибку, в чем может быть проблема?
Update: Иногда sleep() в 10 секунд не помогает, даже при такой задержке возвращается ошибка 404.