跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

php文件上传与下载解决办法

php文件上传与下载 php文件上传可以用move_uploaded_file()函数 但是文档没有介绍文件下载的方法 我也找不到 move_downloaded_file()函数 我想下载用move_uploaded_file() 让它从你上传的目录传到你指定的下载目录,这样感觉怪怪的. 哪位大哥分享下php文件下载的方法. ------解决思路---------------------- 上传可以move_uploaded_file, 是因为上传的文件已经在服务器上 下载自然不能move_uploaded_file,因为文件是在服务器上的,你下载是要下载到客户端的。。。 最简单的方式 下载 如果不想暴露文件地址。 可以用: header("xxxxxxxxxx"); readfile("文件"); 将文件内容吐给浏览器去下载。 下载的资料,google, baidu 一下,还是蛮多的。。 ------解决思路----------------------

$file = 'test.zip';
$filename = '中文.zip';

if(file_exists($file)){
$user_agent = $_SERVER['Http_User_agent'];
$encode_filename = rawurlencode($filename);

if(preg_match("/MSIE/", $user_agent)){
header('content-disposition:attachment; filename="'.$encode_filename.'"');
}else if(preg_match("/Firefox/", $user_agent)){
header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');
}else{
header('content-disposition:attachment; filename="'.$filename.'"');
}
readfile($file);
}
?>
下载。 ------解决思路---------------------- 引用:Quote: 引用: 下载。 下载文件的时候为什么要判断是那种浏览器(preg_match("/Firefox/", $user_agent)? header('content-disposition:attachment; filename="'.$encode_filename.'"'); header('xxx')这句是有什么用,我去掉的时候readfile($file) 就把文件的内容显示在浏览器,也没有弹出下载框 设置文件头,当浏览器接收到头时,会激活文件下载对话框

相关文章