Saludos...
Hay una fuente llamada JqueryFileTree que permite visionar la estructura de un directorio tal y como se puede ver a través del explorador de windows o el nautilius en linux... Esto es interesante para compartir algunos archivos de forma gráfica.
Sin ambargo, existe un conector en formato PHP que permite ver esa estructura de árbol, además de todos los ficheros .js que se deben guardar en el servidor. Pero es justo ese fichero PHP que permite hacerlo todo.
Fichero:
Código PHP:
<?php
$_POST['dir'] = urldecode($_POST['dir']);
if( file_exists($root . $_POST['dir']) ) {
$files = scandir($root . $_POST['dir']);
natcasesort($files);
if( count($files) > 2 ) { /* The 2 accounts for . and .. */
echo "<ul class=\"jqueryFileTree\" style=\"display: none;\">";
// All dirs
foreach( $files as $file ) {
if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file) ) {
echo "<li class=\"directory collapsed\"><a href=\"#\" rel=\"" . htmlentities($_POST['dir'] . $file) . "/\">" . htmlentities($file) . "</a></li>";
}
}
// All files
foreach( $files as $file ) {
if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file) ) {
$ext = preg_replace('/^.*\./', '', $file);
echo "<li class=\"file ext_$ext\"><a href=\"#\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">" . htmlentities($file) . "</a></li>";
}
}
echo "</ul>";
}
}
?>
Estas líneas de código supuestamente permiten incluso que el usuario pueda clicar sobre algún archivo y bajarlo a su disco local. Esa función yo la he activado a través del JS de mi código con un "window.open".
Mi problema es que la manera en la que está dado el código, el root de los ficheros los asume del tipo:
lo que sería más o menos (/var/www/html/ficheros) en un linux
La pregunta es... si mis ficheros se encuentran en un directorio diferente como por ejemplo (/mnt/compartidos/ficheros), cómo puedo modificar el .PHP para que vaya a ese path indicado y no al del 'var/www/...' ?
Gracias