2014-01-23 7 views
1

Это то, что я пытаюсь сделать:PHP - проверить, если изображение полностью загружено через CURL, прежде чем пытаться открыть его в другом сценарии

Отправка изображения с сервера 1 на сервер 2 - проверьте, если изображение является недавно полностью переносится до его открытия на сервере 2

В принципе, сервер 1 загружает изображение (с тем же именем когда-либо) на сервер 2. Сервер 2 использует это изображение для выполнения чего-либо, например, для его отображения. Проблема в том, что я хочу определить, загружается ли сервер 1 еще до того, как сервер 2 попытается получить доступ к этому изображению, поскольку сервер 2 не хочет показывать поврежденное изображение.

Я думал об использовании схемы flip/flop - где я всегда держу 2 изображения на сервере 2, и если сервер 1 загружает изображение1, тогда на сервере 2 будет отображаться изображение2 или наоборот. Проблема в том, что мне нужно определить, загружается ли изображение.

+0

Есть ли у вас ссылка на сервере 2 для изображения, поступающего с сервера 1? –

+0

сервер 2 не имеет ссылки на что-либо, поступающее с сервера 1. Он знает только, что есть изображение в папке где-то в своем пространстве (это пространство сервера 2, то есть). –

ответ

0

Я часто сталкиваюсь с этой проблемой при загрузке файлов через FTP ...

Лучшего «решение» я могу придумать, чтобы проверить filemtime на файл на сервере 2. Если файл был изменен в последнем во-вторых, тогда он загружается так sleep(1) и повторите попытку (или вместо этого отправьте свое изображение с флип-флопом)

+0

Не изменилось бы время? В зависимости от скорости загрузки он может очень сильно меняться, особенно с изображениями размером> 200 кб (при низкой средней скорости загрузки 200 килобайт) –

Смежные вопросы