Heim > Backend-Entwicklung > PHP-Tutorial > php文件上传与下载解决办法

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

WBOY
Freigeben: 2016-06-13 12:16:33
Original
936 Leute haben es durchsucht

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

下载的资料,google, baidu 一下,还是蛮多的。。
------解决思路----------------------

<br /><?php  <br />$file = 'test.zip';  <br />$filename = '中文.zip';  <br />  <br />if(file_exists($file)){  <br />    $user_agent = $_SERVER['Http_User_agent'];  <br />    $encode_filename = rawurlencode($filename);  <br />  <br />    if(preg_match("/MSIE/", $user_agent)){  <br />        header('content-disposition:attachment; filename="'.$encode_filename.'"');  <br />    }else if(preg_match("/Firefox/", $user_agent)){  <br />        header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');  <br />    }else{  <br />        header('content-disposition:attachment; filename="'.$filename.'"');  <br />    }  <br />    readfile($file);  <br />}  <br />?> <br />
Nach dem Login kopieren
Nach dem Login kopieren


下载。
------解决思路----------------------
引用:
Quote: 引用:

<br /><?php  <br />$file = 'test.zip';  <br />$filename = '中文.zip';  <br />  <br />if(file_exists($file)){  <br />    $user_agent = $_SERVER['Http_User_agent'];  <br />    $encode_filename = rawurlencode($filename);  <br />  <br />    if(preg_match("/MSIE/", $user_agent)){  <br />        header('content-disposition:attachment; filename="'.$encode_filename.'"');  <br />    }else if(preg_match("/Firefox/", $user_agent)){  <br />        header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');  <br />    }else{  <br />        header('content-disposition:attachment; filename="'.$filename.'"');  <br />    }  <br />    readfile($file);  <br />}  <br />?> <br />
Nach dem Login kopieren
Nach dem Login kopieren


下载。


下载文件的时候为什么要判断是那种浏览器(preg_match("/Firefox/", $user_agent)?
 header('content-disposition:attachment; filename="'.$encode_filename.'"');  
header('xxx')这句是有什么用,我去掉的时候readfile($file) 就把文件的内容显示在浏览器,也没有弹出下载框

设置文件头,当浏览器接收到头时,会激活文件下载对话框

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage