Skip to main content

¿Cómo hacer una conexión FTP por medio de PHP?

FTP

Continuando con algunas memorias sobre la programación en PHP les comparto este pequeño tutorial que nos enseña a crear una conexión FTP por medio de PHP.

Script muy útil cuando necesitamos iniciar sesión en un servidor remoto. Pero vayamos por partes.

¿Qué es una conexión FTP?

FTP corresponde a las siglas de File Transfer Protocol o Protocolo de Transferencia de Archivos. Cómo su propio nombre lo indica, es un protocolo que pertenece a TCP/IP que se encarga de la transferencia de archivos entre computadoras conectadas en red.

Al basarse en la arquitectura Cliente / Servidor, el FTP hace uso de dos componentes básicos:

  •     Un cliente. El cual se encarga de conectarse a un servidor FTP para descargar o subir archivos.
  •     Un servidor. Se encarga de procesar las peticiones de los clientes FTP, permitiéndoles descargar o subir archivos desde él.

Para conectarnos a un servidor FTP necesitaremos los siguientes datos:

  •     Nombre del Servidor. Es la IP o Nombre del Servidor FTP al cual nos conectaremos
  •     Puerto. Número del puerto del servidor. Por defecto es 21.
  •     Usuario. Es el nombre de la cuenta de usario que se nos ha asignado.
  •     Clave de acceso. Es nuestra contraseña de cuenta de usuario.

¿Cómo conectarte por PHP a un servidor FTP?

Si quiere el detalle de todas las funciones disponibles para PHP te aconsejo consultar la documentación oficial del PHP, disponible en: http://www.php.net/docs.php.

$conexion_id = ftp_connect($ip_servidor); // creamos un ID de conexión al servidor

$resultado = ftp_login($conexion_id,’usuario’,’password’); // iniciamos sesion con usuario y contraseña

if((!$conexion_id) || (!$resultado)){

die(“Falló la conexión”);

}

else

{

//Si se inició sesion, cambiamos a modo pasivo (Las conexiones de datos son iniciadas por el cliente, en lugar de por el servidor. Puede ser necesaria si el cliente está detrás de un firewall)

ftp_pasv($conexion_id, true);

$remoto = $path . “archivo.txt”; // Indicamos la ruta y el nombre del archivo a transmitir

$local = “archivo.txt”; // Este es el nombre del archivo que vamos a mandar al servidor
$archivo_enviado = ftp_put( $conexion_id, $local, $remoto, FTP_BINARY ); //subimos el archivo al servidor en modo binario

if ( $archivo_enviado ) {

echo “archivo subido”;

}

else {

echo “No se pudo enviar el archivo “;

}

}

//Y por ultimo cerramos la conexión FTP

ftp_close($conexion_id);

¡Dejános un comentario!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *