Есть скрипт 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
- }
- 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 {
- }
- endforeach;
- }
- $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 {
- }
- endforeach;
- }
- ?>
- </body>
- </html>