2011-04-24 11 views
5

que estoy a punto de conseguir mis manos sucias escribir un envoltorio de FTP para PHP, sólo necesito para llevar a cabo lo básico:PHP/FTP Client

  • de lectura/escritura y la incorporación a los archivos
  • lista/chmod y borrar archivos/carpetas

Por desgracia, sólo tenía que meterse con FTP con PHP vez para answer this question, y me dieron un poco decepcionado con la extensión ftp, sobre todo porque no es trivial para distinguir entre los archivos y carpetas y la la velocidad general no fue excelente.

Por lo que yo sé PHP tiene cuatro formas distintas de interactuar con los servidores FTP:

  1. Socket puro implementación
  2. envolturas de archivos
  3. FTP Extensión
  4. CURL Extensión

Ahora, no quiero codificar el protocolo del cliente FTP yo mismo, por lo que la opción n. ° 1 está fuera de la ecuación.

Los contenedores de archivos son geniales si necesito hacer algo trivial como obtener un solo archivo, pero son extremadamente lentos si necesito realizar operaciones más complejas ya que cada llamada abrirá su propia conexión.

Eso me deja con las extensiones FTP y CURL, y aquí es donde necesito una guía. Como dije antes, no soy un gran admirador de la extensión de FTP, por otro lado, nunca he usado CURL a FTP, así que no puedo comparar objetivamente uno con el otro.

¿Alguien ha intentado ambos enfoques? ¿Cuáles son sus pensamientos sobre ellos? ¿Es la opción CURL más rápida?

Además, ¿hay alguna alternativa de la que no tenga conocimiento?

Respuesta

2

¿Has mirado el paquete PEAR Net_FTP?

+0

No obstante, parece genial, sin embargo, todavía se basa en la extensión 'ftp' y me temo que el rendimiento no será excelente. Realmente me gustaría escuchar algunos comentarios sobre el enfoque CURL. –

1

He intentado ambos para un proyecto. Fue necesario cargar algunos archivos a través de ftps + auth conexión con encriptación y autenticación para obtener código de respuesta e información XML, tipo de XML-RPC intercambiando así que al final ni siquiera podía acercarse a la solución con php-ftp-extension y todo se logró con alguna depuración (CURLOPT_VERBOSE) y configuring con PHP-CURL. ¡Así que voto por CURL, es de 1997-th y funciona muy bien!