2011-12-30 135 views
0

我注意到,其中一個PHP腳本安裝的目錄有非常大的error_log文件幾乎1GB的大小,主要是錯誤生成的第478和479行編碼..例如,從error_log中文件中錯誤的是如下:PHP警告:filemtime()[<a href='function.filemtime'>function.filemtime</a>]

PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/khan/public_html/folder/ZBall.jar in /home/khan/public_html/folder/index.php on line 478 
PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/khan/public_html/folder/ZBall.jar in /home/khan/public_html/folder/index.php on line 479 

我有以下的編碼,線477至484

foreach ($mp3s as $gftkey => $gftrow) { 
    $ftimes[$gftkey] = array(filemtime($thecurrentdir.$gftrow),$gftrow); 
    $ftimes2[$gftkey] = filemtime($thecurrentdir.$gftrow); 
} 
array_multisort($ftimes2,SORT_DESC,$ftimes); 
foreach ($ftimes as $readd) { 
    $newmp3s[] = $readd[1]; 
} 

請幫我在這。

謝謝.. :)

回答

2

stat failed錯誤,就表示這個文件/home/khan/public_html/games/ZBall.jar不存在,或者無法因權限錯誤讀取。確保該文件存在於PHP正在查找的位置,因爲這看起來就像問題的最主要原因。

由於它來自數組$mp3s,請確保該數組包含存在的文件的名稱,如果不存在,則對其進行修改。

+0

以及該文件確實是存在的,文件得到下載,沒有問題在前端..問題是error_log文件被生成,並且隨着文件被大量下載文件的大小越來越大..已應用@Gabriel Sosa編輯的代碼..希望它能工作.. :-) – 2011-12-30 19:54:22

+0

應用@Gab後riel Sosa的以下錯誤會生成...
'PHP Warning:array_multisort()[function.array-multisort]:參數#1預計是/home/khan/public_html/folder/index.php上的數組或排序標誌483 PHP警告:無效的參數爲foreach()提供的/home/khan/public_html/folder/index.php第484行#
來自第483-486行的代碼
'array_multisort($ ftimes2,SORT_DESC,$ ftimes); foreach($ ftimes as $ readd){$ newmp3s [] = $ readd [1]; }'
任何形式的幫助,將不勝感激..謝謝.. – 2011-12-30 20:24:18

+0

@HaroonKhattak你的問題不是你有一個越來越多的錯誤日誌,這是你的代碼產生的錯誤。有些東西阻止了Apache/PHP能夠對該文件進行統計。 – 2011-12-30 20:24:31

1

在對它做某事之前請求文件。 checm我編輯:

<?php 
foreach ($mp3s as $gftkey => $gftrow) { 
    if (file_exists($thecurrentdir.$gftrow)) { 
    $ftimes[$gftkey] = array(filemtime($thecurrentdir.$gftrow),$gftrow); 
    $ftimes2[$gftkey] = filemtime($thecurrentdir.$gftrow); 
    } 
} 
array_multisort($ftimes2,SORT_DESC,$ftimes); 
foreach ($ftimes as $readd) { 
    $newmp3s[] = $readd[1]; 
} 
+0

我已經添加了您的編輯代碼,網站正在工作..到目前爲止沒有error_log文件在該文件夾中創建..將讓你知道是否有任何錯誤生成..謝謝.. :-) – 2011-12-30 19:51:21

+0

現在這個錯誤生成... 'PHP警告:array_multisort()[function.array-multisort]:參數#1預計是一個數組或排序標誌位於/home/khan/public_html/folder/index.php在線483 PHP警告:爲在線484上的/home/khan/public_html/folder/index.php中的foreach()提供的無效參數' 來自行483-486的代碼 \t'array_multisort($ ftimes2,SORT_DESC,$ ftimes); \t foreach($ ftimes as $ readd){ \t $ newmp3s [] = $ readd [1]; \t}' – 2011-12-30 20:01:48

+0

如果foreach正在拋出該文件,看起來好像沒有任何文件存在,所以最後一個foreach正在試圖遍歷一個不存在的數組。檢查文件的路徑,如果你喜歡接受答案:) – 2012-01-02 14:11:59

0

有是在Windows中刪除錯誤約filemtime

function GetCorrectMTime($filePath) { 

$time = filemtime($filePath); 

$isDST = (date('I', $time) == 1); 
$systemDST = (date('I') == 1); 

$adjustment = 0; 

if($isDST == false && $systemDST == true) 
    $adjustment = 3600; 

else if($isDST == true && $systemDST == false) 
    $adjustment = -3600; 

else 
    $adjustment = 0; 

return ($time + $adjustment); 
} 

源PHP.net網站的功能:http://php.net/manual/tr/function.filemtime.php#100692