Home>Article>Backend Development> How to download and modify file name in php
php method to download and modify the file name: first set the download address to "/download.php?controller=down_file&file=1.zip"; then control the output name in the Controller.
Recommended: "PHP Video Tutorial"
phpModify the file name when downloading the file
Download address:
/download.php?controller=down_file&file=1.zip
Then control the output name in the Controller to achieve
$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;
==============
=========
We generally implement downloads by calling the url to download, but this method cannot be used when IE can recognize the opened file, such as downloading a Pictures, html web pages, etc., then programming is required to implement them. The following php code can solve the problem:
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){ echo''; 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(); } ?>
The above is the detailed content of How to download and modify file name in php. For more information, please follow other related articles on the PHP Chinese website!