filesize():特定路径的stat失败-php

filesize():特定路径的stat失败-php,php,filesize,stat,Php,Filesize,Stat,我正在编写一个简单的文档管理脚本,需要在一个表中获取文件大小和文件类型/文件或文件夹/。不知何故,它不工作到提及目录。如有可能,请提供帮助: <?php $path = "./documents"; $dh = dir($path); while( ($file=$dh->read()) ) { if( $file=="." || $file=="..")continue; echo "<tr><td><a href='down

我正在编写一个简单的文档管理脚本,需要在一个表中获取文件大小和文件类型/文件或文件夹/。不知何故,它不工作到提及目录。如有可能,请提供帮助:

    <?php
$path = "./documents";
$dh = dir($path);
while( ($file=$dh->read()) ) 
{
    if( $file=="." || $file=="..")continue;
    echo "<tr><td><a href='download.php?f=$file' title='Click to Open/Download'>$file</a></td>";
    echo "<td>";
    echo (is_file($file))? "<img src='file.jpg'/> FILE" : "<img src='folder.jpg'/> FOLDER ";
    echo "</td><td>" .filesize($file)."</td>";
    echo "<td><input type='checkbox' name='delete[]'/></td></tr>";
}
?>

问题是,
$file
只是没有目录前缀的文件名,所以检查它不会起作用。一种方法是使用绝对文件名的变量(比如
$realfile
)。然后,您必须更改代码并使用此变量进行文件检查:

<?php
$path = "./documents";
$dh = dir($path);
while(($file=$dh->read()) !== false) {
    if( $file=="." || $file=="..") continue;
    // have a new variable for the real filepath
    $realfile = $path . "/" . $file;
    echo "<tr><td><a href='download.php?f=$file' title='Click to Open/Download'>$file</a></td>";
    echo "<td>";
    echo (is_file($realfile))? "<img src='file.jpg'/> FILE" : "<img src='folder.jpg'/> FOLDER ";
    echo "</td><td>" .filesize($realfile)."</td>";
    echo "<td><input type='checkbox' name='delete[]'/></td></tr>";
}
?>

$path=“../documents”尝试过,但完全丢失了../doc不起作用哇!谢谢你,简-就这样-太好了!祝你假期愉快,兄弟!这是左边的绿色支票标志吗?正确的?我想现在已经检查过了。谢谢。我正在与另一个具有相同代码的“小型”prbm进行斗争-尝试提供下载文件(href url)或打开的选项,如果它是一个目录(文件夹),请使用php opendir()或类似工具。你能给我一些建议吗?是的,的确,这是左边的绿色支票。检查具有is_dir()的目录