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 代码一样。您应该使用readfile(),它只会打开图像并将其直接发送到浏览器:

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

另请注意,您需要exit()readfile().

于 2012-10-05T18:53:21.710 回答