Rumah > pembangunan bahagian belakang > tutorial php > php文件上传与下载解决办法

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

WBOY
Lepaskan: 2016-06-13 12:16:33
asal
928 orang telah melayarinya

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 />
Salin selepas log masuk
Salin selepas log masuk


下载。
------解决思路----------------------
引用:
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 />
Salin selepas log masuk
Salin selepas log masuk


下载。


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

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan