PHP / FTP-клиент - PullRequest
       29

PHP / FTP-клиент

5 голосов
/ 24 апреля 2011

Я собираюсь испачкать руки написанием обертки FTP для PHP, мне просто нужно выполнить основы:

  • чтение / запись и добавление файлов
  • список/ chmod и удалять файлы / папки

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

Насколько я знаю, PHP имеет четыре различных способа взаимодействия с FTP-серверами:

  1. Реализация Pure Socket
  2. Оболочки файлов
  3. Расширение FTP
  4. Расширение CURL

Теперь я не хочу кодировать FTPсам клиентский протокол, поэтому вариант № 1 выходит за рамки уравнения.

Обертки файлов хороши, если мне нужно сделать что-то тривиальное, например получение одного файла, но они очень медленные, если мне нужно выполнять более сложные операции.так как каждыйcall откроет свое собственное соединение.

Это оставляет меня с расширениями FTP и CURL, и здесь мне нужно некоторое руководство.Как я уже говорил ранее, я не большой поклонник расширения FTP, с другой стороны, я никогда не использовал CURL для FTP, поэтому я не могу объективно сравнить одно с другим.

Кто-нибудь когда-либо пробовал обаподходы?Что вы думаете о них?Опция CURL быстрее?

Кроме того, есть ли какие-либо альтернативы, о которых я не знаю?

Ответы [ 2 ]

2 голосов
/ 24 апреля 2011

Вы смотрели пакет PEAR Net_FTP ?

1 голос
/ 24 апреля 2011

Я пробовал оба для одного проекта. Потребовалось загрузить какой-либо файл через соединение ftps + auth с шифрованием и аутентификацией, а затем получить код ответа и информацию XML, вроде обмена XML-RPC , поэтому в конце даже не смог приблизиться к решению с помощью php -ftp-extension и все было выполнено с некоторой отладкой (CURLOPT_VERBOSE) и настройкой с PHP-CURL . Поэтому я голосую за CURL , он с 1997-го и отлично работает!

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