欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

编写下载图片的问题。

程序员文章站 2022-04-26 11:18:15
...
$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问题。