php实现下载时修改文件名的方法:首先设置好下载地址;然后在Controller里控制输出名,代码如“$file = ‘./路径/1.zip’…header(‘Pragma: public’);readfile($file)…”。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php下载文件时修改文件名
下载地址:
/download.php?controller=down_file&file=1.zip
登录后复制
然后在Controller里控制输出名就可以实现
立即学习“PHP免费学习笔记(深入)”;
$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视频教程》】
==============
登录后复制
=========
我们一般实现下载都是调用url来下载,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){ echo' alert("非法连接 !"); location.replace ("index.php") '; 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怎么实现下载时修改文件名的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2519798.html