我正在尝试从文件中获取目录数据。
期望的行为我希望代码能够回显目录。我最终会把它全部放在一个数组中。
问题我收到了几个警告:filetype():Lstat失败错误。所有这些都在WAMP上进行了测试。
这是我的代码:
$dir = "../images/";
echo $dir;
if (is_dir($dir)){
if ($dh = opendir($dir)){
while ($file = readdir($dh) !== false){
echo "filename: $file : filetype: ". filetype($dir . $file). "</br>";
}
closedir($dr);
}
}
非常感谢任何帮助。
答案 0 :(得分:2)
不要忘记先来的.
和..
。测试它们。
<?php
....
if (is_dir($dir)){
$dh=opendir($dir);
while ($file = readdir ($dir)) {
if ($file != "." && $file != "..") {
echo "filename: $file : filetype: ". filetype($dir . $file)."</br>";
}
}
closedir($dh);
}
?>
更新
要测试脚本,请将其置于文件夹images
之上一级,然后尝试:
<?php
chdir ('images');
$dh=opendir('.');
while ($file = readdir ($dh)) {
if ($file != "." && $file != "..") {
echo "filename: $file : filetype: ". filetype($file)."</br>";
}
}
closedir($dh);
?>
问题
为何使用
if ($file != "." && $file != "..") {
readdir() show also if there are above levels of the directory
所以第一次使用readdir()
是
'.'
'..'
afile.jpg