ftp_put / ftp_fput блокирует файлы на удаленном FTP-сервере? - PullRequest
1 голос
/ 11 февраля 2010

Я не хочу, чтобы другое приложение читало файлы, пока это приложение php загружает / перезаписывает файлы на удаленный сервер

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Нет такой вещи, как блокировка / разблокировка файлов с помощью ftp. Может быть, какой-то сервер может реализовать такие вещи, но это должно быть нестандартным. Итак, PHP не управляет такими вещами.

Кстати, в зависимости от вашего случая, вы можете загрузить свой файл во временный каталог, а затем переименовать его. Переименование является атомарной процедурой, и это может быть правильным способом избежать загрузки вашим клиентом незаконченного файла загрузки.

1 голос
/ 11 февраля 2010

Как правильно говорит Патрик Мари, файлы не блокируются во время транзакции FTP. Вы можете легко попробовать сами: начните загрузку большого файла и запросите его в своем браузере через несколько секунд. Вы получите усеченную версию файла.

Если он не конфликтует ни с чем другим, вы можете переименовать файл (например, добавить расширение .lock или добавить ., что будет скрывать его в системах Unix / Linux в некоторых созвездиях) во время транзакции, делайте свои вещи и переименовывайте их обратно, когда это будет сделано.

Одна опасность в этом заключается в том, что если ваш сценарий прерван, переименованный файл остается переименованным и / или скрытым, что может быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...