PHP无法输出图像

PHP无法输出图像,php,image,output,Php,Image,Output,有一次,我的php网页停止显示我成功上传到MySQL数据库的所有图像。我想找到这个问题的根源,看看它是否可以输出一个存储在硬盘上的.jpg图像,我得到的输出与我试图从数据库访问此图像时的输出相同: 无法显示图像[…],因为它包含错误 图像位置正确,标题前没有空格,输出缓冲区已清理。我花了好几天时间在谷歌上搜索答案,但运气不好 我对PHP很陌生,所以如果你能提供帮助,请尽可能描述,以便我能理解。 提前感谢。请确保您试图输出的文件位于正确的路径(来自代码,与PHP脚本相同),并且您对该文件具有读取权

有一次,我的php网页停止显示我成功上传到MySQL数据库的所有图像。我想找到这个问题的根源,看看它是否可以输出一个存储在硬盘上的.jpg图像,我得到的输出与我试图从数据库访问此图像时的输出相同:


无法显示图像[…],因为它包含错误

图像位置正确,标题前没有空格,输出缓冲区已清理。我花了好几天时间在谷歌上搜索答案,但运气不好

我对PHP很陌生,所以如果你能提供帮助,请尽可能描述,以便我能理解。
提前感谢。

请确保您试图输出的文件位于正确的路径(来自代码,与PHP脚本相同),并且您对该文件具有读取权限

<?php
  ob_clean();
  header('Content-Type: image/jpeg');
  header('Content-Length: ' . filesize($file));
  $file = '111111-11111.jpg';
  $handle = fopen($file, "r");
  echo file_get_contents($file);
?>

您是否检查过错误日志中的任何PHP错误,可能是基于权限的错误?另外,您不需要
$handle=…
行,因为您没有使用itCheck检查页面的原始输出。流中可能有一些错误。使用
ini\u集('display\u errors',0)
禁用。另外,在使用
file\u get\u contents()
之前,您不需要
fopen()
文件。需要注意的是:指令顺序要更改,这一条看起来更好(在设置文件路径之前进行了文件大小计算)尝试了您建议的代码,但它仍然给我相同的错误。文件确实存在,名称相同,我有必要的权限,但它仍然没有给我任何东西。图像[…]无法显示,因为它包含错误。请尝试另一个图像并通知我。@Napolux好的,所以我可能是哑巴。。。只是试着打开windows的sample.jpg图片,结果成功了。这给我留下了一个问题——当我把这张图片放在数据库上显示时,为什么会给我错误?
$file = '111111-11111.jpg';
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);