1. 列出目录中的所有文件和子目录:
$directory = '/path/to/directory';
// 使用 scandir 列出目录中的所有文件和子目录
$contents = scandir($directory);
// 过滤掉 "." 和 ".."
$contents = array_diff($contents, array('.', '..'));
// 输出文件和子目录列表
foreach ($contents as $item) {
echo $item . '<br>';
}
2. 使用 opendir、readdir 和 closedir:
$directory = '/path/to/directory';
// 使用 opendir 打开目录
$handle = opendir($directory);
// 读取目录中的文件和子目录
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
echo $item . '<br>';
}
}
// 使用 closedir 关闭目录句柄
closedir($handle);
3. 获取目录的详细信息:
$directory = '/path/to/directory';
// 使用 glob 获取目录中的详细信息
$files = glob($directory . '/*');
// 输出文件和子目录的详细信息
foreach ($files as $file) {
$fileInfo = pathinfo($file);
echo 'File Name: ' . $fileInfo['basename'] . '<br>';
echo 'File Size: ' . filesize($file) . ' bytes<br>';
echo 'File Type: ' . filetype($file) . '<br>';
echo '-------------------<br>';
}
4. 递归遍历目录:
function scanDirectory($directory) {
$contents = scandir($directory);
// 过滤掉 "." 和 ".."
$contents = array_diff($contents, array('.', '..'));
foreach ($contents as $item) {
$path = $directory . '/' . $item;
if (is_dir($path)) {
echo 'Directory: ' . $path . '<br>';
scanDirectory($path); // 递归调用,遍历子目录
} else {
echo 'File: ' . $path . '<br>';
}
}
}
$startingDirectory = '/path/to/starting/directory';
scanDirectory($startingDirectory);
这只是 PHP 中目录操作的一些基本示例。在实际应用中,你可能需要结合其他文件系统函数,比如 file_get_contents、file_put_contents 等,以及使用递归遍历更复杂的目录结构。确保在操作文件和目录时考虑到安全性和权限问题。
转载请注明出处:http://www.pingtaimeng.com/article/detail/13854/PHP