+ -
当前位置:首页 → 问答吧 → 我做了个下载功能,能下载,但是下载的图片不能预览,doc文件打开是乱码,反正就是没有正常的

我做了个下载功能,能下载,但是下载的图片不能预览,doc文件打开是乱码,反正就是没有正常的

时间:2011-11-09

来源:互联网

我做了个下载功能,能下载,但是下载的图片不能预览,doc文件打开是乱码,反正就是没有正常的。上传之后我去文件夹看了,所有文件和原来的一样,就是下载之后就不能用了,这是怎么回事??求帮忙

作者: wywdzw   发布时间: 2011-11-09

我估计是头文件错了

作者: mlxq1004   发布时间: 2011-11-09

引用 1 楼 mlxq1004 的回复:
我估计是头文件错了

我的代码是:
<?php 
  if($_GET['id']){
  $id=$_GET['id'];
  echo"$id";

$query_1=mysql_query("select * from tb_zl where id=$id",$conn);
while($myrow_1=mysql_fetch_array($query_1)){
  $path="$myrow_1[path]";
  header("Content-type: text/html; charset=gb2312"); //设置文件编码格式
echo"$path"; //获取文件路径
if(!empty($path) and !is_null($path)){ //判断变量是否为空,是否为NULL
$filename=basename($path); //获取文件名
$file=@fopen($path,"r");
if($file){
header("Content-type:application/octet-stream"); //输出MIME类型 
header("Accept-ranges:bytes"); //接受的范围单位
header("Accept-length:".filesize($path)); // 文件长度 
header("Content-Disposition:attachment;filename=".$filename); //缺省时文件保存对话框中的文件名称
echo fread($file,filesize($path)); //读取文件
fclose($file); //关闭文件
exit; //退出
}else{
echo "<script>alert('您下载的文件不存在!'); history.back();</script>";
}
}


}

?>

作者: wywdzw   发布时间: 2011-11-09

把文件中所有的echo 等有输出的地方删除

作者: ohmygirl   发布时间: 2011-11-09

引用 3 楼 ohmygirl 的回复:
把文件中所有的echo 等有输出的地方删除

我试了,把所有有echo的地方都注释了,但是下载下来的文件还是不能用

作者: wywdzw   发布时间: 2011-11-09

相关阅读 更多