La función ftp_nlist() es una función incorporada en PHP que se usa para obtener la lista de todos los nombres de archivos y subdirectorios en un directorio específico en el servidor FTP.
Sintaxis:
ftp_nlist( $ftp_connection, $directory );
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $ftp_connection: Es un parámetro requerido. Especifica la conexión FTP ya existente para obtener la lista de todos los archivos y subdirectorios de un directorio en el servidor FTP.
- $directory: Es un parámetro requerido de tipo String. Especifica el directorio en el servidor remoto, es decir, el servidor FTP cuyo archivo y subdirectorio se va a enumerar.
Valor devuelto: Devuelve una array de nombres de archivos y subdirectorios en caso de éxito y falso en caso de error.
Nota:
- Esta función está disponible para PHP 4.0.0 y versiones posteriores.
- Los siguientes ejemplos no se pueden ejecutar en un IDE en línea. Así que intente ejecutar en algún servidor de alojamiento PHP o localhost con el nombre de servidor ftp adecuado.
- ¡No lo confunda con el nombre de archivo y el subdirectorio! Muchos sitios web asumieron el nombre del subdirectorio también como nombre de archivo.
Los siguientes ejemplos ilustran la función ftp_nlist() en PHP:
Ejemplo 1:
PHP
<?php // Connect to FTP server // Use a correct ftp server $ftp_server = "localhost"; // Use correct ftp username $ftp_username="username"; // Use correct ftp password corresponding // to the ftp username $ftp_userpass="password"; // File name or path to upload to ftp server $file = "filetoupload.txt"; // Establishing ftp connection $ftp_connection = ftp_connect($ftp_server) or die("Could not connect to $ftp_server"); if($ftp_connection) { echo "successfully connected to the ftp server!"; // Logging in to established connection // with ftp username password $login = ftp_login($ftp_connection, $ftp_username, $ftp_userpass); if($login){ // Checking whether logged in successfully or not echo "<br>logged in successfully!"; // Get file & directory list of current directory $file_list = ftp_nlist($ftp_connection, "."); //output the array stored in $file_list using foreach loop foreach($file_list as $key=>$dat) { echo $key."=>".$dat."<br>"; } } else { echo "<br>login failed!"; } // echo ftp_get_option($ftp_connection, 1); // Closing connection if(ftp_close($ftp_connection)) { echo "<br>Connection closed Successfully!"; } } ?>
Producción:
Contenido de ese directorio en el administrador de archivos:
Ejemplo 2: Conéctese al servidor ftp usando el número de puerto 21 y luego enumere el contenido del directorio.
PHP
<?php // Connect to FTP server // Use a correct ftp server $ftp_server = "localhost"; // Use correct ftp username $ftp_username="username"; // Use correct ftp password corresponding // to the ftp username $ftp_userpass="password"; // File name or path to upload to ftp server $file = "filetoupload.txt"; // Establishing ftp connection $ftp_connection = ftp_connect($ftp_server, 21) or die("Could not connect to $ftp_server"); if($ftp_connection) { echo "successfully connected to the ftp server!"; // Logging in to established connection // with ftp username password $login = ftp_login($ftp_connection, $ftp_username, $ftp_userpass); if($login){ // Checking whether logged in successfully or not echo "<br>logged in successfully!"; // Get file & directory list of current directory $file_list = ftp_nlist($ftp_connection, "."); //output the array stored in $file_list using foreach loop foreach($file_list as $key=>$dat) { echo $key."=>".$dat."<br>"; } } else { echo "<br>login failed!"; } // echo ftp_get_option($ftp_connection, 1); // Closing connection if(ftp_close($ftp_connection)) { echo "<br>Connection closed Successfully!"; } } ?>
Producción:
Contenido de ese directorio en el administrador de archivos:
Referencia: https://www.php.net/manual/en/function.ftp-nlist.php