Conectarse a un FTP y gestionar los ficheros utilizando PHP

Subir ficheros al servidor mediante FTP es una tarea fundamental para todo desarrollador web que se precie. Existen muchos clientes FTP que te ayudan en esta tarea, es decir, te ayudan a gestionar los ficheros de un servidor FTP. Pero, ¿qué pasa si queremos conectarnos a un servidor FTP y gestionar sus ficheros a través de un script?

PHP te proporciona varias funciones para trabajar con servidores FTP. En este tutorial te mostraremos cómo conectarnos a servidor FTP utilizando PHP y lo que es aún mejor, te enseñaremos a gestionar los ficheros de un servidor FTP mediante PHP.

Conectarnos a un servidor FTP

Antes que nada, debemos conectarnos a un servidor FTP utilizando la función ftp_connect(). Una vez hemos creado la conexión, utilizamos la función ftp_login() para loguarnos en el servidor FTP mediante un usuario y una contraseña.

// FTP server details
$ftpHost   = 'ftp.example.com';
$ftpUsername = 'ftpuser';
$ftpPassword = '*****';

// open an FTP connection
$connId = ftp_connect($ftpHost) or die("Couldn't connect to $ftpHost");

// try to login
if(@ftp_login($connId, $ftpUsername, $ftpPassword)){
    echo "Connected as $ftpUsername@$ftpHost";
}else{
    echo "Couldn't connect as $ftpUsername";
}

// close the connection
ftp_close($connId);

Subir fichero a un servidor FTP

Una vez logueados en el servidor FTP. Utilizaremos la función ftp_put() para subir un fichero al servidor.

// FTP server details
$ftpHost   = 'ftp.example.com';
$ftpUsername = 'ftpuser';
$ftpPassword = '*****';

// open an FTP connection
$connId = ftp_connect($ftpHost) or die("Couldn't connect to $ftpHost");

// login to FTP server
$ftpLogin = ftp_login($connId, $ftpUsername, $ftpPassword);

// local & server file path
$localFilePath  = 'index.php';
$remoteFilePath = 'public_html/index.php';

// try to upload file
if(ftp_put($connId, $remoteFilePath, $localFilePath, FTP_ASCII)){
    echo "File transfer successful - $localFilePath";
}else{
    echo "There was an error while uploading $localFilePath";
}

// close the connection
ftp_close($connId);

Descargar fichero de un servidor FTP

Una vez logueados en el servidor FTP. Utilizaremos la función ftp_get() para descargar un fichero al servidor.

// FTP server details
$ftpHost   = 'ftp.example.com';
$ftpUsername = 'ftpuser';
$ftpPassword = '*****';

// open an FTP connection
$connId = ftp_connect($ftpHost) or die("Couldn't connect to $ftpHost");

// login to FTP server
$ftpLogin = ftp_login($connId, $ftpUsername, $ftpPassword);

// local & server file path
$localFilePath  = 'index.php';
$remoteFilePath = 'public_html/index.php';

// try to download a file from server
if(ftp_get($connId, $localFilePath, $remoteFilePath, FTP_BINARY)){
    echo "File transfer successful - $localFilePath";
}else{
    echo "There was an error while downloading $localFilePath";
}

// close the connection
ftp_close($connId);

Eliminar fichero del servidor FTP

Una vez logueados en el servidor FTP. Utilizaremos la función ftp_delete() para eliminar un fichero del servidor.

// FTP server details
$ftpHost   = 'ftp.example.com';
$ftpUsername = 'ftpuser';
$ftpPassword = '*****';

// open an FTP connection
$connId = ftp_connect($ftpHost) or die("Couldn't connect to $ftpHost");

// login to FTP server
$ftpLogin = ftp_login($connId, $ftpUsername, $ftpPassword);

// server file path
$file = 'public_html/index_old.php';

// try to delete file on server
if(ftp_delete($connId, $file)){
    echo "$file deleted successful";
}else{
    echo "There was an error while deleting $file";
}

// close the connection
ftp_close($connId);

Fuente: codexworld.com

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP