Clase para usar cURL en PHP

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

cURLEn los artículos anteriores hemos aprendido a usar cURL con PHP. Por supuesto, hay una gran cantidad de opciones que no hemos tratado. Es lógico. Son tantas que, prácticamente, necesitaríamos un libro para analizarlas todas detalladamente. Sin embargo, con las que ya conocemos podemos sacarle mucho partido a cURL.

Y, claro, ahora vamos a lo cómodo. Nos creamos una clase, que ya la tendremos y nos servirá para cualquier proyecto. Después, mostraremos un ejemplo de uso de esa clase, instanciándola en un objeto, para comunicar nuestra aplicación con un servidor remoto.

LA CLASE Curl_Connect

El código de la clase que podemos usar para enviar ficheros a un servidor remoto, o recibirlos del mismo, usando cURL es Curl_Connect.class.php, con el siguiente listado:

No vamos a entrar en muchos detalles aquí sobre el funcionamiento de cada método, porque todo lo que contienen se ha explicado en los artículos previos de esta serie, por lo que sería repetirnos. La clase se basa en un manejador de cURL (llamado $ch por curl handle). Emplea cuatro métodos: un constructor y un destructor que son de los llamados métodos mágicos de PHP (puedes leer más sobre métodos mágicos en este enlace). Como ya sabes, el constructor se ejecuta al crear un objeto, y el destructor cuando ese objeto ha terminado su ciclo de vida. Además, tiene un método para enviar ficheros a un servidor remoto, y otro para descargarlos a la ubicación de nuestra aplicación.

USANDO LA CLASE

Esta es la parte que nos interesa. En primer lugar debemos empezar, claro está, por incluir la clase en nuestro código, así:

include ('Curl_Connect.class.php');

Si está en otra ruta distinta, deberemos especificarla, por supuesto.

El siguiente paso es definir las variables que vamos a pasar al constructor, siguiendo la firma del mismo, y crear un objeto para usar cURL, así:

Para enviar un archivo local a nuestra aplicación, al servidor remoto, usamos el método upload(). Este recibe dos argumentos. El primero es el nombre con el que grabaremos el fichero en remoto, y el segundo es el nombre con el que tenemos el fichero en nuestra aplicación. Lo usamos así:

$curl_object->upload('p1_remote.txt', 'p1_local.txt');

Por el contrario, para descargar un archivo desde el servidor remoto al local usaremos el método download(). La firma de este método es la misma que la del anterior, así:

$curl_object->download('p1_remote.txt', 'p1_local.txt');

Y ya lo tenemos. Más fácil, imposible.



     

No se admiten más comentarios