编写下载图片的问题。
程序员文章站
2022-04-30 23:29:08
...
$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个字节。下载下的图片一片空白。
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问题。