为什么PHP filesize()函数不起作用?

Jon*_*nas 1 php

我注意到当我尝试使用如下路径列出目录的内容时,filesize不起作用:

../
Run Code Online (Sandbox Code Playgroud)

例如,这工作:

if ($handle = opendir('./')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {

            echo "File Name: $file | File Size: ". filesize($file)."<br />";            

        }
    }
    closedir($handle);
}
Run Code Online (Sandbox Code Playgroud)

但这不是:

if ($handle = opendir('../')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {

            echo "File Name: $file | File Size: ". filesize($file)."<br />";            

        }
    }
    closedir($handle);
}
Run Code Online (Sandbox Code Playgroud)

在最后一个示例中,文件名列出正常,但不是获取文件大小,而是出现此错误:

Warning: filesize() [function.filesize]: stat failed for dynamic.php in C:\xampp\htdocs\app_file_manager\panel\index.php on line 65
Run Code Online (Sandbox Code Playgroud)

有没有办法让第二个例子起作用?

cod*_*ict 6

filesize($file)失败,因为它$file是父目录中而不是当前目录中存在的文件的名称.

您需要前缀$file../