2011-04-04 10 views
0

@Jamesの助けを借りて、イメージジェネレータはきれいな状態です。さて、ファイルやフォルダがでないときに、イメージエンジンが出力する小さな奇妙なエラーがあります。です。確かにエラーがあるはずですが、私はそれが以下のものでなければならないと確信しています。ここでは、Googleがimgcpu.phpサムネイルジェネレータを経由して、古い非実在のフォルダ/ image.jpgをフェッチしようとしたときに何が起こるかです:Filemtime()でPHP警告が発生しました。ヘッダー情報を変更できません - 既にヘッダーが送信されていますエラー

[20:24:25] PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for old_folder/old-image.jpg in imgcpu.php on line 802 
[20:24:25] PHP Warning: Cannot modify header information - headers already sent by (output started at imgcpu.php:802) in imgcpu.php on line 201 

[20:26:31] PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for old_folder/old-image.jpg in imgcpu.php on line 802 
[20:26:31] PHP Warning: Cannot modify header information - headers already sent by (output started at imgcpu.php:802) in imgcpu.php on line 201 

[20:28:24] PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for old_folder/old-image.jpg in imgcpu.php on line 802 
[20:28:24] PHP Warning: Cannot modify header information - headers already sent by (output started at imgcpu.php:802) in imgcpu.php on line 201 

[20:31:03] PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for old_folder/old-image.jpg in imgcpu.php on line 802 
[20:31:03] PHP Warning: Cannot modify header information - headers already sent by (output started at imgcpu.php:802) in imgcpu.php on line 201 

そのライン201と802はそれとは何かを持っているようだ:

line 201**  header('HTTP/1.1 400 Bad Request'); 
line 202  die($message); 
.... 
line 801  header("Content-type: " . $this->_mime); 
line 802**  $last_modified = filemtime($source); 

質問:エラーは正しいですか?または何らかの理由で警告を表示する必要がありますか?もしそうなら、どうですか?

+0

filemtimeからのエラーメッセージがヘッダを壊す出力するので、filemtimeエラーを修正:


私はあなたがこのようなものを使用する必要がありますと仮定します。ありがとう。 –

答えて

2

ファイルが存在しない場合は、ファイルの最終更新日を取得しないでください。

ファイルが存在するかどうかは、最初にfile_exists()機能を使用して確認する必要があります。

if (file_exists($source)) { 
    $last_modified = filemtime($source); 
    // Use the $last_modified variable 
} 
else { 
    // the file doesn't exist => 404 
    header('HTTP/1.1 404 Not Found'); 
    die; 
} 
+0

ありがとう。それは論理的に聞こえる。それ、どうやったら出来るの?どの要素が()と{}に入っていますか? 'if file_exists(??????){??????}' – Sam

+1

私はコードのアイデアで私の答えを編集しました。これが役に立ちますようお願いします:-) –

+0

ありがとうございます:この作品は@ – Sam

関連する問題