Как я могу перечислить файлы в каталоге, используя php - PullRequest
0 голосов
/ 19 декабря 2011

Как я могу перечислить все файлы в каталоге.Я хочу только файлы в корневом каталоге. Если в корневом каталоге есть какой-либо каталог, я хочу пропустить эти каталоги и файлы в них.
Сейчас я использую этот код

 $folderPath  = file_directory_path().'/lexalytics/';
    if ($handle = opendir($folderPath)) {
        $result .=  '<div><ul>';
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $result .=  "<li><a href=../".$folderPath.$entry.">".$entry."</a>\n</li>";
            }
        }
        $result .= '</ul></div>';
        closedir($handle);
    }

Но в нем перечислены подкаталогии файлы в них.как можно избежать этого?Пожалуйста, помогите мне

Ответы [ 3 ]

3 голосов
/ 19 декабря 2011

Пожалуйста, используйте PHP5s новый DirectoryIterator класс:

Это будет только перечислять файлы и исключать папки:

$directory  = file_directory_path().'/lexalytics/';
$filenames = array();
$iterator = new DirectoryIterator($directory);
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        $filenames[$fileinfo->getMTime()] = $fileinfo->getFilename();
    }
}
1 голос
/ 19 декабря 2011
$path = "your-path";

    // Open the folder
    $dir_handle = @opendir($path) or die("Unable to open $path");

    // Loop through the files
    while ($file = readdir($dir_handle)) {

    if($file == "." || $file == ".." || $file == "index.php" )

        continue;
        echo "<a href=\"$file\">$file</a><br />";

    }
    // Close
    closedir($dir_handle); 
0 голосов
/ 19 декабря 2011

Попробуйте этот код

$folderPath  = file_directory_path().'/lexalytics/';
    $handle = @opendir($folderPath) or die("Unable to open $path");
    $result .=  '<div><ul>';
    // Loop through the files
    while ($entry = @readdir($handle)) {
        if(is_file($folderPath.$entry)) {
           $result .= "<li><a href=../".$folderPath.$entry.">".$entry."</a>\n</li>";
        }
    }
    $result .= '</ul></div>';
    closedir($handle);
...