Доброго времени суток!
Есть скрипт php который должен принимать из формы путь к любой директории на компьютере и отображать ее содержимое(файлы и папки), а также переходить на уровень вверх и в корень.
Проблема в том что невозможно перейти в корень(например если находишся в директории C:/Windows то перейти в C:/)/ И сама загрузка папок и файлов происходит очень медленно. Помогите подправить
PHP:
скопировать код в буфер обмена
<html> <head> <title>Project</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <?PHP function getfilessize($d) { global $filesize; $filesize = 0; foreach($dir as $file) { if (($file!='.') && ($file!='..')) $filesize += getfilessize($d .'/'.$file); else $filesize += filesize($d . '/' . $file); } return $filesize; } function scan($p) { foreach ($files as $file): $d = $p.'/'.$file; if (($file == '.') || ($file == '..')) { echo '<a href="'.'test.php/'.$file.'?f=scan&p='.$d.'">'.$file.'</a><br />',PHP_EOL; } else { $filesize = getfilessize($d); echo '<a href="'.'test.php/'.$file.'?f=scan&p='.$d.'">'.$file.'</a>'.' : '.$filesize.'<br />',PHP_EOL; } } else { echo $file .' : '. filesize($d).'Kb'.'<br>'; } endforeach; } if(isset($_GET['f']) and $_GET['f']=='scan') { $p = $_GET['p']; scan($p); } else { $dir = 'E:\local_server\openserver'; foreach ($files as $file): $d = $dir.'/'.$file; if (($file == '.') || ($file == '..')) { echo '<a href="'.'test.php/'.$file.'?f=scan&p='.$d.'">'.$file.'</a><br />',PHP_EOL; } else { $filesize = getfilessize($d); echo '<a href="'.'test.php/'.$file.'?f=scan&p='.$d.'">'.$file.'</a>'.$filesize.'<br />',PHP_EOL; } } else { echo $file .' : '. filesize($d).'Kb'.'<br>'; } endforeach; } ?> </body> </html>
|