Home >Backend Development >PHP Tutorial >编写下载图片的问题。

编写下载图片的问题。

WBOY
WBOYOriginal
2016-06-23 14:08:201013browse

$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问题。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn