1

ディレクトリに画像をロードするための簡単なPHPスクリプトを作成しましたが、画像が破損していないにもかかわらず、エラーコンソールで「画像が切り捨てられたか破損しています」というエラーが定期的に発生することがわかりました。フルパスを閲覧すれば正常に画像を見ることができ、ダウンロードして問題なく見ることもできます。別のブラウザを使用してみましたが、同じ問題が発生します。

奇妙なことに、一部の画像は正常に機能し、一部は機能しません。この問題はファイルサイズとは関係がないようです。

私のコードは非常に単純で、何年もの間使用しています。

if (isset($_GET['i']) && is_numeric($_GET['i'])) {
$path = 'D:/Images/';
if (is_file($path . $i . '.jpg')) {
   header('content-type: image/jpg');
   require($path . $i . '.jpg');
}
4

1 に答える 1

2

PHPコードであるかのように画像を含むrequireを使用しないでください。を使用する必要がありますreadfile()。これにより、画像が開き、ブラウザに直接送信されます。

readfile($path . $i . '.jpg');
exit;

exit()また、の後に電話をかけたいと思うことにも注意してくださいreadfile()

于 2012-10-05T18:53:21.710 に答える