我想在我的服务器上使用这个 php 脚本显示图像。
$file = fopen('/Volumes/PROMISE/products/jpeg/89239-282.jpg', 'rb');
header('Content-Type: image/jpeg');
fpassthru($file);
但是我得到一个损坏的图像,这个脚本在我的索引文件的顶部,现在用于测试目的,所以我不认为有标题问题,事实上它是我索引文件中唯一的东西......
我试过使用
echo file_get_contents('/Volumes/PROMISE/products/jpeg/89239-282.jpg');
同样,没有任何运气,该文件存在于指定路径并且具有 777 权限。
我最后的想法是它可能是apache服务器上的一些配置..?不知道有没有可以刹车的设置?
这是 .htaccess 文件设置
Options +FollowSymlinks -Multiviews
这是来自 httpd.conf 文件的配置
Options All -MultiViews -ExecCGI -Indexes
我检查了 mime.types 文件并且图像/jpeg 处于活动状态。
所以我想我的问题是:apache 设置是否有可能弄乱我的图像。
编辑:
我尝试使用 php man 中的代码
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($im);
// Free up memory
imagedestroy($im);
在我的本地计算机上它可以工作,但不能在我们的服务器上。它给我一个空白页,没有错误。
如果我将 imagejpeg 与第二个参数一起使用并将其保存到桌面,它似乎一切都很好并且完全可见