No entiendo muy bien el objeto de listar por ftp tu public_html, mejor podrias hacerlo por http.
De todas maneras algo asi te va a funcionar, aunque requiere de bastantes mejoras
Código PHP:
Ver original<?php
$servidor_ftp = '127.0.0.1';
$usuario_ftp = 'xxx';
$clave_ftp = 'xxx';
$loguin_ftp = ftp_login($conectar_ftp, $usuario_ftp, $clave_ftp); $cambiar = $_GET['cambiar'];
$script = $_SERVER['PHP_SELF'];
function es_directorio($directorio) {
global $conectar_ftp;
return true;
} else {
return false;
}
}
function listar_dir($ruta) {
global $conectar_ftp,$servidor_ftp;
$elementos = ftp_nlist($conectar_ftp, $ruta); foreach($elementos as $archivo) {
if ($archivo!='.'&&$archivo!='..') {
if (es_directorio($archivo)) {
echo "<a href='$script?cambiar=$archivo'>$archivo</a> [directorio]<br>";
} else {
echo "$archivo<br>";
}
}
}
}
listar_dir($cambiar);
}else{
listar_dir('/');
}
?>
el display_errors debe estar en 0 porque ftp_chdir() siempre genera un warning cuando $archivo no sea un directorio
Saludos