Home >Backend Development >PHP Tutorial >下载png格式的图片,弹出来php文件格式的下载,求解决

下载png格式的图片,弹出来php文件格式的下载,求解决

WBOY
WBOYOriginal
2016-06-23 13:37:271061browse

function down_file($file_name,$file_path){
   @$file_name=iconv("utf_8","gb2312",$file_name);
   $file_path=$_SERVER['DOCUMENT_ROOT'].$file_path.$file_name;
   if(!file_exists($file_path)){
      echo "文件不存在";
  return;
   }
   $fp=fopen($file_path,"r+");
   $file_size=filesize($file_path);
header("Content-type: application/octet-stream");
header("Accept-Rangers: bytes");
header("Accept-Length: $file_size");
header("Content-Dispostion: attachment;filename=".$file_name);
   while(!feof($file_path)){
     $data=fread($fp,1024);
     echo $data;
   }
   fclose($fp);
}

down_file("php.png","/down/");
?>


回复讨论(解决方案)

加个下载类型试试  header("content-type: image/png"); 

同1#

header("Content-Dispostion: attachment;filename=". $file_name);
这个是带路径的了吧
header("Content-Dispostion: attachment;filename=". basename($file_name));
这样才行




谢谢三位   你们说的 都对

1?和2??位。。。
加header("content-type: image/png"); ?有用的,因?是下?,不是?示?片。
首先,你的code根本就不能?行,有????了。

@$file_name=iconv(" utf_8","gb2312",$file_name);  ??是UTF-8
while(!feof( $file_path)){  ??是$fp
header("Content- Dispostion: attachment;filename=".$file_name);  ??是 disposition

改成??就可以了。

function down_file($file_name,$file_path){	@$file_name=iconv("utf-8","gb2312",$file_name);	$file_path=$_SERVER['DOCUMENT_ROOT'].$file_path.$file_name;	if(!file_exists($file_path)){		echo "文件不存在";		return;	}	$fp=fopen($file_path,"r+");	$file_size=filesize($file_path);	header("Content-type: application/octet-stream");	header("Accept-Rangers: bytes");	header("Accept-Length: $file_size");	header("Content-Disposition: attachment;filename=".$file_name);	while(!feof($fp)){		$data=fread($fp,1024);		echo $data;	}   fclose($fp);}down_file("php.png","/down/");

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