麻烦各位帮帮忙:
项目中,从upload文件夹中下载一个文件,但是,下载下来的文件里面,有页面的代码,意思就是,页面的代码都跑到那个下载下来的文件里面去了。//这是下载的方法
function downFile($filename) {
$file_dir =CMS_UPLOAD_PATH;
echo "文件名",$filename;
if (!file_exists($file_dir.$filename )){ //检查文件是否存在
$this->edit ( "文件找不到",0);
exit ();
}else {
$file = fopen($file_dir.$filename,"r"); // 打开文件
echo "this is here <br>";
$us=$_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename); //文件的编码格式
echo urldecode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
Header ( "Content-type: application/octet-stream" ); //输出文件类型
Header ( "Accept-Ranges: bytes" );//文件编码格式
Header ( "Accept-Length: " . filesize ($file_dir . $filename ));// 文件大小
if(preg_match("/MSIE/", $us)) {
Header('Content-Disposition: attachment; filename="' .iconv("gb2312","UTF-8",$encoded_filename ) . '"'); //下载
print_r(" 采用IE浏览器");
} else if (preg_match("/Firefox/", $us)) { Header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
} else {
Header('Content-Disposition: attachment; filename="' . $filename . '"');
}
echo "this here 3<br>";
while (!feof($file)){
echo fread ($file, filesize ( $file_dir.$filename));
}
fclose ($file);
$this->edit( "文件下载成功",1);
exit ();
}
}
项目中,从upload文件夹中下载一个文件,但是,下载下来的文件里面,有页面的代码,意思就是,页面的代码都跑到那个下载下来的文件里面去了。//这是下载的方法
function downFile($filename) {
$file_dir =CMS_UPLOAD_PATH;
echo "文件名",$filename;
if (!file_exists($file_dir.$filename )){ //检查文件是否存在
$this->edit ( "文件找不到",0);
exit ();
}else {
$file = fopen($file_dir.$filename,"r"); // 打开文件
echo "this is here <br>";
$us=$_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename); //文件的编码格式
echo urldecode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
Header ( "Content-type: application/octet-stream" ); //输出文件类型
Header ( "Accept-Ranges: bytes" );//文件编码格式
Header ( "Accept-Length: " . filesize ($file_dir . $filename ));// 文件大小
if(preg_match("/MSIE/", $us)) {
Header('Content-Disposition: attachment; filename="' .iconv("gb2312","UTF-8",$encoded_filename ) . '"'); //下载
print_r(" 采用IE浏览器");
} else if (preg_match("/Firefox/", $us)) { Header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
} else {
Header('Content-Disposition: attachment; filename="' . $filename . '"');
}
echo "this here 3<br>";
while (!feof($file)){
echo fread ($file, filesize ( $file_dir.$filename));
}
fclose ($file);
$this->edit( "文件下载成功",1);
exit ();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货