Справка по скрипту проводника php - PullRequest
0 голосов
/ 12 декабря 2010

Я создал этот php-скрипт, который отображает содержимое назначенного каталога и позволяет пользователям загружать каждый файл. Вот код:

<?php  
if ($handle = opendir('test')) {  
     while (false !== ($file = readdir($handle))) {  
        if ($file != "." && $file != "..") {  
            echo "<a href='test/$file'>$file\n</a><br/>";  
        }  
    }  
    closedir($handle);  
}
?>

Этот скрипт также отображает папки, но когда я щелкаю по папке, он отображает содержимое папки, но в представлении по умолчанию с автоматическим индексом Apache.

Что бы я хотел, чтобы скрипт делал при щелчке по папке, это отображал содержимое, но так же, как это делает оригинальный скрипт (так как это более редактируемое с помощью css и т. П.).
Ты бы знал, как этого добиться?

Ответы [ 2 ]

3 голосов
/ 12 декабря 2010

Не создавайте ссылку на сам каталог, а на страницу php, которая отображает содержимое.

Измените свой php-код на что-то вроде:

if(isset($_REQUEST['dir'])) {
    $current_dir = $_REQUEST['dir'];
} else {
    $current_dir = 'test';
}

if ($handle = opendir($current_dir)) {
     while (false !== ($file_or_dir = readdir($handle))) {
        if(in_array($file_or_dir, array('.', '..'))) continue;
        $path = $current_dir.'/'.$file_or_dir;
        if(is_file($path)) {
            echo '<a href="/Implementation/'.$path.'">'.$file_or_dir."\n</a><br/>";
        } else {
            echo '<a href="script.php?dir='.$path.'">'.$file_or_dir."\n</a><br/>";
        }
    }
    closedir($handle);
}

PS напишите вамHTML-код с двойными кавычками.

1 голос
/ 12 декабря 2010

Вам нужен HREF, чтобы указывать на ваш PHP-скрипт, а не на каталог. Затем вам нужно будет обновить ваш PHP-скрипт, чтобы теперь каталог, который ему нужно прочитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...