Rumah >pembangunan bahagian belakang >tutorial php >编写下载图片的问题。

编写下载图片的问题。

WBOY
WBOYasal
2016-06-23 14:08:201013semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn