PHP网站从服务器下载文件到本地

public function download_file(){
    //文件路径
    $fileurl = __DIR__."\\..\\success.txt";
    $filename = "testfile.txt";

    file_put_contents($fileurl,"你好吗?".PHP_EOL."挺好的!");//设置文件内容

    //打开服务器文件(返回文件流)
    $file = fopen($fileurl,'r');
    
    header('Content-Type: application/octet-stream'); //设置下载内容类型
    header('Content-Length: '.filesize($fileurl)); //设置下载内容长度
    header('Content-Disposition: attachment; filename='.$filename); //设置从服务器下载的本地文件名

    //输出 读区到的文件内容 (读文件流)
    echo fread($file,filesize($fileurl));    

    //关闭服务器文件
    fclose($file);
}

注:

1:、如不需要设置文件内容可忽略 file_put_contents(),或者如果需要使用文件流转换成 pdf、jpg 等文件可以直接使用 :file_put_contents(“文件名”,“文件流数据”);

2、使用fopen()打开文件,必须使用fclose()关闭文件,否则可能会出现一些预料不到的错误。

 

你可能感兴趣的:(php)