因為 PHP 在 Windows 環境下預設的暫存路徑是 C:\WINDOWS\Temp,而這個暫存目錄又是一個設定有特殊權限的一個目錄,以致於 PHP 在 Windows 環境下無法使用 filesize 函數,如果你將原本用 PHP 開發過的程式從 Linux 移至 Windows 主機的話,這點必須特別注意。
如果真要用,我自己寫了一個效能較差的 filesize 函數,程式碼如下:
function ddc_filesize($file)
{
if(!$fp = fopen($file, "rb")) return FALSE;
$body = '';
while(!feof($fp)) $body .= fread($fp, 1024 * 8);
fclose($fp);
return strlen($body);
}
會這樣寫好像也是個沒辦法的辦法了。如果有人知道如何解決此問題,也請告訴我,感恩!