美文网首页PHP实战PHP经验分享
PHP实现远程文件下载到本地

PHP实现远程文件下载到本地

作者: codefine | 来源:发表于2019-03-20 15:47 被阅读1次

参考代码,注意设置header头部分。配合readfile函数。

readfile — 输出文件

说明 ¶
readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) : int
读取文件并写入到输出缓冲。

参数 ¶
filename
要读取的文件名。

use_include_path
想要在 include_path 中搜索文件,可使用这个可选的第二个参数,设为 TRUE。

context
Stream 上下文(context) resource。

返回值 ¶
返回从文件中读入的字节数。如果出错返回 FALSE 并且除非是以 @readfile() 形式调用,否则会显示错误信息。

$url = "http://www.xxx.com/1.jpg?t=123";
$info = get_headers($url, true);
$size = $info['Content-Length'];
header("Content-type:application/octet-stream");
//去掉`?`后面的查询参数
$filename = $url;
if (false !== stripos($url, '?')) {
     $filename = substr($url, 0, stripos($url, '?'));
}
$origin_name = basename($filename);
header("Content-Disposition:attachment;filename = " . $origin_name);
header("Accept-ranges:bytes");
header("Accept-length:" . $size);
readfile($url);
exit;

相关文章

网友评论

    本文标题:PHP实现远程文件下载到本地

    本文链接:https://www.haomeiwen.com/subject/weftvqtx.html