日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

php如何实现下载并修改文件名称

發(fā)布時(shí)間:2023/12/29 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 php如何实现下载并修改文件名称 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

php實(shí)現(xiàn)下載并修改文件名稱的方法:首先設(shè)置下載地址為“/download.php?controller=down_file&file=1.zip”;然后在Controller里控制輸出名即可。

推薦:《PHP視頻教程》

php下載文件時(shí)修改文件名

下載地址:

/download.php?controller=down_file&file=1.zip

然后在Controller里控制輸出名就可以實(shí)現(xiàn)

$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+");//下載文件必須先要將文件打開,寫入內(nèi)存
if(!file_exists($file_name)){//判斷文件是否存在
    echo "文件不存在";         //如果不存在
    exit();                              //直接退出
}                                         //如果存在,繼續(xù)執(zhí)行下載
$file_size=filesize("aa.rar");//判斷文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字節(jié)格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//彈出客戶端對話框,對應(yīng)的文件名
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服務(wù)器瞬時(shí)壓力增大,分段讀取
$buffer=1024;
while(!feof($fp)){
    $file_data=fread($fp,$buffer);
    echo $file_data;
}
//關(guān)閉文件
fclose($fp);
?>

=========

我們一般實(shí)現(xiàn)下載都是調(diào)用url來下載,但是遇到ie能識別打開的文件就不能用這種方式了,比如下載一個(gè)圖片、html網(wǎng)頁等,這時(shí)就需要編程來實(shí)現(xiàn),以下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"); // 打開文件
// 輸入文件標(biāo)簽
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);
// 輸出文件內(nèi)容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>

總結(jié)

以上是生活随笔為你收集整理的php如何实现下载并修改文件名称的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。