php 下载图片 打不开 ,用记事本打开发现在图片前面添加了图片的文件名导致的,找了很多方法都没用 最后添加了ob_clean();解决了
源码如下<pre name="code" class="php"> //获取下载文件的大小
$file_size=filesize($file_path);
if($file_size>10*1024*1024){
echo "<script language='javascript'>window.alert('过大')</script>";
return ;
}
//这里添加ob_clean();
ob_clean();
//返回的文件
header("Content-type: application/octet-stream");
//按照字节大小返回
header("Accept-Ranges: bytes");
//返回文件大小
header("Accept-Length: $file_size");
//这里客户端的弹出对话框,对应的文件名
header("Content-Disposition: attachment; filename=".$file_name);
//向客户端回送数据
$buffer=1024;
//为了下载的安全,我们最好做一个文件字节读取计数器
$file_count=0;
//这句话用于判断文件是否结束
while(!feof($fp) && ($file_size-$file_count>0) ){
$file_data=fread($fp,$buffer);
//统计读了多少个字节
$file_count+=$buffer;
//把部分数据回送给浏览器;
echo $file_data;
}