当前位置:Gxlcms > PHP教程 > 编写下载图片的问题。

编写下载图片的问题。

时间:2021-07-01 10:21:17 帮助过:29人阅读

$file_name="420.jpg";
if(!file_exists($file_name)){
echo '文件不存在';
}

$fp=fopen($file_name,"r");

$file_size=filesize($file_name);

header("content-type:appliation/octet-stream");
header("accept-ranges:bytes");
header("accept-length:".$file_size);
header("content-disposition:attachment;filename=".$file_name);
$buffer=1024;
while(!feof($fp)){
$file_data=fread($fp,$buffer);
echo $file_data;
}
fclose($fp);
上面的代码可以把图片下载下来,下载来的图片不原图片大20个字节。下载下的图片一片空白。


回复讨论(解决方案)

$fp=fopen($file_name,"rb");

$fp=fopen($file_name,"rb");
还是不行

$file_name="420.jpg";
if(!file_exists($file_name)){
echo '文件不存在';
}
echo后面应该加一个exit;
或者就:
exit("文件不存在。");

我明白了,我的编码用的是UTF-8改成gb就可以了,但这是为什么了?我编的PHP文件都是UTF8的啊?如何改进啊?

UTF-8涉及到一个BOM问题。

人气教程排行