php 下载文件并定义名字

php 下载文件并定义名字

用PHP下载文件并且修改文件名:

本地下载文件:

$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);
            }
}

跨域下载文件:

$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 "文件不存在";
            }
 

php 下载文件并定义名字:

<?php  
$_GET['t'] ? $file_name = $_GET['t'] : header('HTTP/1.1 404 NOT FOUND');  //下载文件名  
$city = explode('-', $file_name)[0];

//检查文件是否存在  
if (!file_exists ('./okfile/'.$file_name.'.txt')) {  
    header('HTTP/1.1 404 NOT FOUND');  
} else {  
    //以只读和二进制模式打开文件   
    $file = file_get_contents('./okfile/'.$file_name.'.txt');
    //告诉浏览器这是一个文件流格式的文件  
    header( "Content-type: application/octet-stream" ); 
    //请求范围的度量单位  
    header ( "Accept-Ranges: bytes" );  
    //用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。
    header ( "Content-Disposition: attachment; filename=" . $city.'的ip查询'.date('Y-m-d H:i:s').'.txt' );  
    //读取文件内容并直接输出到浏览器  
    echo $file;  
    exit ();  
}  
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享