PHP로 다운로드할 때 파일 이름을 수정하는 방법

藏色散人
풀어 주다: 2023-03-08 09:46:02
원래의
2266명이 탐색했습니다.

다운로드 시 PHP에서 파일 이름을 수정하는 방법: 먼저 다운로드 주소를 설정한 다음 "$file = './path/1.zip'...header( 'Pragma: 공개');readfile($file)...".

PHP로 다운로드할 때 파일 이름을 수정하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php는 파일을 다운로드할 때 파일 이름을 변경합니다.

다운로드 주소:

/download.php?controller=down_file&file=1.zip
로그인 후 복사

그런 다음 출력 이름을 제어합니다. 이것을 달성하기 위해 컨트롤러에서

$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;
로그인 후 복사

저희는 일반적으로 다운로드를 구현합니다. 다운로드할 URL을 호출하는 것인데, 사진 다운로드, HTML 웹페이지 다운로드 등 IE가 열린 파일을 인식할 수 있는 경우에는 이 방법을 사용할 수 없습니다. 이 경우 구현을 위한 프로그래밍이 필요합니다. . 다음 PHP 코드는 문제를 해결할 수 있습니다:

<?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);
?>
로그인 후 복사

위 내용은 PHP로 다운로드할 때 파일 이름을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿