filetype()的Lstat错误。来自php.net

时间:2015-09-07 00:06:55

标签: php arrays loops

我正在尝试从文件中获取目录数据。

期望的行为我希望代码能够回显目录。我最终会把它全部放在一个数组中。

问题我收到了几个警告: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);

        }
}

非常感谢任何帮助。

1 个答案:

答案 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()

  • 1。)'.'
  • 2。)'..'
  • 3。)afile.jpg