免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3652 | 回复: 6
打印 上一主题 下一主题

php 发送 图片的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-06 10:24 |只看该作者 |倒序浏览
我的test.php,需要返回一个图片,用fread, echo, 浏览器显示的是乱马,而不是图片。为什么?

论坛徽章:
0
2 [报告]
发表于 2009-04-06 10:36 |只看该作者
直接 127。0。0。1/image/aa.gif 浏览器可以显示,所以我觉得把文件内容一股脑给了浏览器,就应该可以的,可是不行,不知道为什么。

不想(也不允许)通过过这个方式

  <?  
  $image_path="images/test.jpg";  
  $sTmpVar   =   fread(fopen($image_path,   'r'),   filesize($image_path));  
  header("Content-type:   image/*   \n\n");  
  echo   $sTmpVar;  
  ?>  
   
  show.php   显示图片  
  <img   src="kao.php?id=1">

[ 本帖最后由 jqbsx 于 2009-4-6 10:46 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-04-06 10:51 |只看该作者
$sTmpVar   =   fread(fopen($image_path,   'r'),   filesize($image_path));

这句换成

$sTmpVar = file_get_contents($image_path);
这样试试呢。。
我以前也做过,是可以的

论坛徽章:
0
4 [报告]
发表于 2009-04-06 10:54 |只看该作者

回复 #3 shmiya 的帖子

谢谢

不过,如果图片很大,是不是不太好?

我先试一下,谢谢

论坛徽章:
0
5 [报告]
发表于 2009-04-06 11:00 |只看该作者

回复 #3 shmiya 的帖子

一样,还是乱码 :(

‰PNG 

论坛徽章:
0
6 [报告]
发表于 2009-04-06 11:24 |只看该作者
E对文件内容的判断并不是基于后缀名的,而是基于文件头部和MIME。当用户打开一个文件时,IE读取该文件的头部信息并在本机注册表数据库内查找它对应的MIME格式描述,例如打开一个MIDI文件,IE先读取文件前面一段数据,根据MIDI文件的标准定义,它必须包含以“RIFF”开头的描述信息,根据这段标记,IE在注册表定位找到了“x-audio/midi”的MIME格式,然后IE确认它自己不具备打开这段数据的能力,所以它根据注册表里的文件后缀名信息找到某个已经注册为打开后缀名为“.MID”的文件,然后提交给此程序执行,我们就看到了最终结果

论坛徽章:
0
7 [报告]
发表于 2009-04-09 10:37 |只看该作者
DIM:

$ls_type=mime_content_type($filename);
header('Content-type: $ls_type');

  ok
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP