Enviando archivos por cURL

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

cURLEn el artículo anterior hemos hecho el trabajo “pesado” de configurar nuestra conexión cURL, salvo un par de detalles que dejamos, específicamente, para este artículo. Aquí vamos a ver como enviar archivos por cURL a un servidor remoto, de tipo FTPS, con protocolo FTP implícito sobre TLS (el caso más rebuscado de configurar). De este modo, seremos capaces de programar cualquier envío por cURL.

ATENCIÓN. Recuerda que PHP te ofrece otros tipos de conexión para transferencia de archivos, como puedan ser ssh2_connect() o ftp_connect(), que no recurren a cURL. Sin embargo, en casos como el propuesto, donde usamos FTP implícito sobre TLS, ninguna de estas alternativas funciona, por lo que cURL es, en muchos casos, la única solución aceptable y, en última instancia, cURL siempre funciona, sea cual sea el protocolo, si está correctamente configurado.

USANDO cURL PARA ENVÍO

Ya casi tenemos todo listo para hacer el envío de un fichero a un servidor remoto por cURL. Empecemos viendo lo que ya tenemos declarado y explicado:

El siguiente paso es establecer la ruta del directorio del archivo remoto donde se depositará el contenido que enviemos por cURL. Este directorio deberá existir en el servidor remoto, ya que cURL no lo crea, sólo deposita el contenido. Si no existe, no se depositará el contenido.

Luego establecemos el nombre del fichero con el que se grabarán los contenidos en el servidor remoto.

Con el protocolo, el servidor, la ruta y el nombre del archivo en remoto, crearemos una URL que asignaremos a la opción CURLOPT_URL del manejador cURL que habíamos creado con curl_init().

Todo esto queda así:

El siguiente paso es abrir el fichero local, cuyo contenido queremos enviar al servidor remoto, mediante un manejador para lectura.

Después tenemos que asignar ese manejador de lectura a la opción CURLOPT_INFILE del manjador cURL.

Después recurrimos al método curl_exec(). Este es propio de cURL y es el que se encarga de ejecutar la transferencia.

Lo último que nos queda ya es cerrar los dos manejadores: el de cURL y el del fichero que hemos enviado al servidor remoto.

Todo esto nos queda como ves a continuación:

CONCLUYENDO

Con esto ya tenemos todo lo necesario para realizar un envío a un servidor remoto desde el servidor donde está nuestra aplicación, mediante cURL. En el próximo artículo veremos otro modo de hacer subidas por cURL.



     

No se admiten más comentarios