爲了快速起見,我正在爲我正在使用的應用程序構建文件瀏覽器。當我請求文件類型,文件大小和文件時間時,出現以下錯誤。我收到以下錯誤:來自文件類型,文件大小和文件時間的警告
文件類型:
Warning: filetype() [function.filetype]: Lstat failed
作品尺寸:
Warning: filesize() [function.filesize]: stat failed
文件時間:顯示我的文件已經在早上03:00:00修改01/01/1970。那我當然不會編輯這些文件!
無論如何,這是我的代碼。我爲迴音的意大利麪條道歉!請幫忙!
<table class="tftable">
<tr><th>Name</th><th>Type</th><th>Last Modified</th><th>Size</th></tr>
<?php
if($_GET['folder'] == "")
{
$baseusrdir = "/userfiles/john";
}
else
{
$baseusrdir = "/userfiles/john/".$_GET['folder'];
}
$listdir = scandir(".".$baseusrdir);
$lstdr = $_GET['folder'];
foreach($listdir as $lstdr)
{
if($lstdr != "." && $lstdr !="..")
{
echo "<tr>";
echo "<td><a href='files.php?folder=".$_GET['folder']."/$lstdr'>".$lstdr."</a></td>";
echo "<td>";
echo $baseusrdir."/".$lstdr;
echo filetype($baseusrdir."/".$lstdr);
echo "</td><td>";
echo date ("d/m/Y h:i:s A.", filemtime($entry));
echo "</td><td>";
echo round((filesize($lstdr)/1000), 2);
echo "</td>";
echo "</tr>";
}
}
$arr = explode('/' , $_GET['folder']);
for($i=0;$i<(count($arr)-1);$i++){
if(!empty($arr[$i])){
$link.="/".$arr[$i];
}
}
echo "</br><a href='files.php?folder=$link'>back</a>";
?>
</table>
[因爲'Lstat'和'stat'是非常基本的Unix/Linux命令(HTTPS ://en.wikipedia.org/wiki/Stat_(Unix))這可能是一個有趣的服務器設置或文件權限問題相關的問題。請檢查您是否可以訪問來自PHP外部的文件以及哪些所有者和權限設置給他們。 – feeela
如果你不逃避那些GET數據,你就會受到傷害。 – Daedalus
@feeela:我在另一臺運行Windows的計算機上試過這個,我得到了同樣的警告。 – ahmadux