欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 PHP 中,你可以使用多种方法来列出目录下的文件和子目录。以下是几种常见的方法:
php<?php $directory = '/path/to/directory'; // 替换为你的目录路径 // 列出目录下的所有文件和子目录 $files = scandir($directory); // 过滤掉 . 和 .. (当前目录和上级目录) $files = array_diff($files, array('.', '..')); // 输出所有文件 foreach ($files as $file) { echo $file . "<br>"; } ?>
php<?php $directory = '/path/to/directory/*'; // 替换为你的目录路径 // 列出所有文件和子目录 $files = glob($directory); foreach ($files as $file) { // 获取文件名部分 $filename = basename($file); echo $filename . "<br>"; } ?>
php<?php $directory = '/path/to/directory'; // 替换为你的目录路径 // 打开目录句柄 if ($handle = opendir($directory)) { // 遍历目录中的每一个条目 while (false !== ($file = readdir($handle))) { // 跳过 . 和 .. if ($file != "." && $file != "..") { echo $file . "<br>"; } } // 关闭目录句柄 closedir($handle); } ?>
php<?php $directory = '/path/to/directory'; // 替换为你的目录路径 $iterator = new DirectoryIterator($directory); foreach ($iterator as $fileinfo) { if ($fileinfo->isFile()) { echo $fileinfo->getFilename() . "<br>"; } } ?>
php<?php function listFiles($directory) { if (!is_dir($directory)) { return; } $files = scandir($directory); foreach ($files as $file) { if ($file == '.' || $file == '..') continue; $path = $directory . '/' . $file; if (is_dir($path)) { echo "<strong>目录: $file</strong><br>"; listFiles($path); // 递归调用 } else { echo "$file<br>"; } } } listFiles('/path/to/directory'); ?>
确保目录路径正确且有读取权限
出于安全考虑,不要直接显示用户提供的路径
对于大型目录,递归方法可能会消耗较多内存
希望这些方法能帮助你列出目录下的文件!