php如何修改下载文件名

  • 时间:
  • 来源:网络

   

php修改下载文件名的方法:首先创建一个PHP示例文件;然后下载本地文件;接着通过“is_readable”等函数方法实现下载文件名的修改即可。

推荐:《PHP视频教程》

php文件下载并重命名

1.下载本地文件

$file_url = “./本地路径”
 $out_filename = ‘下载后自动保存的名字’;
 if(!file_exists($file_url)) {
     echo "不存在";
 }else{
           header('Accept-Ranges: bytes');
           header('Accept-Length: ' . filesize( $file_url ));
           header('Content-Transfer-Encoding: binary');
           header('Content-type: application/octet-stream');
           header('Content-Disposition: attachment; filename=' . $out_filename);
           header('Content-Type: application/octet-stream; name=' . $out_filename);
           if(is_file($file_url) && is_readable($file_url)){
                $file = fopen($file_url, "r");
                 echo fread($file, filesize($file_url));
                 fclose($file);
            }

2.下载远程文件

$file_ur = ‘远程文件地址’;
$out_filename='下载后自动保存的文件名';
            $file = @fopen($file_url, "r");
            if($file){
                $content="";
                while(!feof($file)){//测试文件指针是否到了文件结束的位置
                    $data=fread($file,1024);
                    $content.=$data;
                }
                fclose($file);
                $filesize = strlen($content);
                header('Accept-Ranges: bytes');
                header('Accept-Length: ' . $filesize);
                header('Content-Transfer-Encoding: binary');
                header('Content-type: application/octet-stream');
                header('Content-Disposition: attachment; filename=' . $out_filename);
                header('Content-Type: application/octet-stream; name=' . $out_filename);
                echo $content;
                die();  
            }else{
                echo "文件不存在";
            }