FTP Upload con PHP
Hoy les presentamos una guía de como implementar Upload de archivos por FTP utilizando PHP. Para ello nos hemos guiado de FTP Upload via cURL en donde esta muy bien explicado.
Que necesitamos?
cURL es una librería PHP muy potente la cual permite enviar y recibir archivos por diferentes protocolos (HTTP, FTP), además soporte envío de datos por POST o GET, incluso permite autenticarse en servidores remotos. Entonces utilizaremos cURL para conectarnos al nuestro FTP y haremos la transferencia del archivo seleccionado.
Creando el Formulario
Lo primero es crear un formulario en donde seleccionaremos el archivo a subir, esto de la siguiente forma:
Creando el Script
El siguiente paso es crear el php que se encargue de subir el archivo, primero verificamos que se haya seleccionado el archivo, luego creamos una variable cURL la cual asignamos con los valores que deseamos enviar y finalmente verificamos que se haya subido correctamente el archivo.
-
$rpta = “”;
-
if ($_POST["action"] == “upload”) {
-
$tmpfile = $_FILES['archivo']['tmp_name'];
-
$tmpname = $_FILES['archivo']['name'];
-
$ftpuser = “usuario”;
-
$ftppass = “password”;
-
$ftppath = “ftp.dominio.com/path/”;
-
$ftpurl = “ftp://”.$ftpuser.“:”.$ftppass.“@”.$ftppath;
-
if ($tmpname != “”) {
-
$ch = curl_init();
-
curl_setopt($ch, CURLOPT_URL, $ftpurl.$tmpname);
-
curl_setopt($ch, CURLOPT_UPLOAD, 1);
-
curl_setopt($ch, CURLOPT_INFILE, $fp);
-
curl_exec($ch);
-
$error = curl_errno($ch);
-
curl_close ($ch);
-
if ($error == 0) {
-
$rpta = ‘Archivo subido correctamente.’;
-
} else {
-
$rpta = ‘Error al subir el archivo.’;
-
}
-
} else {
-
$rpta = ‘Seleccionar un archivo.’;
-
}
-
}
Como puede ver no es muy complicado este tipo de implementación y tiene la ventaja que podemos enviar archivos mas grandes que con upload de forma normal. No he puesto una versión de este ejemplo funcionando pues quiero evitar que suban archivos no deseados. Finalmente les dejo los archivos fuente de este ejemplo en donde solo deben colocar el usuario, clave y dominio a donde desean subir.
Aún no hay comentarios.
