小編給大家分享一下php實現下載并修改文件名稱的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php實現下載并修改文件名稱的方法:首先設置下載地址為“/download.php?controller=down_file&file=1.zip”;然后在Controller里控制輸出名即可。

php下載文件時修改文件名
下載地址:
/download.php?controller=down_file&file=1.zip
然后在Controller里控制輸出名就可以實現
$file = './路徑/1.zip';
filename = '2.zip';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-type:text/html;charset=utf-8");
header('Content-Disposition: attachment; filename='. $filename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
readfile($file);
exit;==============
<?php
$file_name="aa.rar";//需要下載的文件
$file_name=iconv("utf-8","gb2312","$file_name");
$fp=fopen($file_name,"r+");//下載文件必須先要將文件打開,寫入內存
if(!file_exists($file_name)){//判斷文件是否存在
echo "文件不存在"; //如果不存在
exit(); //直接退出
} //如果存在,繼續執行下載
$file_size=filesize("aa.rar");//判斷文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字節格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//彈出客戶端對話框,對應的文件名
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服務器瞬時壓力增大,分段讀取
$buffer=1024;
while(!feof($fp)){
$file_data=fread($fp,$buffer);
echo $file_data;
}
//關閉文件
fclose($fp);
?>=========
我們一般實現下載都是調用url來下載,但是遇到ie能識別打開的文件就不能用這種方式了,比如下載一個圖片、html網頁等,這時就需要編程來實現,以下php代碼可以解決:
<?
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){
echo'<script> alert("非法連接 !"); location.replace ("index.php") </script>'; exit();
}
$file_name=$_GET['FileName'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //檢查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 打開文件
// 輸入文件標簽
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 輸出文件內容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>看完了這篇文章,相信你對php實現下載并修改文件名稱的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。