php文件下载
需要通过php下载别人服务器资源到自己服务器里,这里我总结了一个我公司后端大佬封装的一个php下载文件函数,希望对大家有帮助。
/**
* 文件下载
* $url远程路径,
* $rename 文件名称,
* $ext文件后缀,
* $path 存放路径
*/
public static function download($url, $rename, $path = '', $ext = "")
{
//没有传入文件尾椎的时候,获取文件尾椎
if (empty($ext)) {
$ext = substr(strrchr($url, '.'), 1);;
}
if (empty($path)) {
switch ($ext) {
case 'jpg': //下载图片
$file_path = 'uploads/images/';
break;
case 'png': //下载图片
$file_path = 'uploads/images/';
break;
case 'pdf': //下载PDF
$file_path = 'uploads/pdf/';
break;
case 'rar': //下载压缩包
$file_path = 'uploads/rar/';
break;
case 'zip': //下载压缩包
$file_path = 'uploads/rar/';
break;
default:
$file_path = 'uploads/files/';
break;
}
} else {
$file_path = 'uploads/' . $path;
}
//判断目录是否存在,不存在创建
if (is_dir($file_path) == false) {
mkdir($file_path, 0777);
}
//打开文件
$fp = fopen($file_path . iconv('UTF-8', 'GBK', $rename) . "." . $ext, 'w+');
//读取远程文件,使用中文文件名需要转码
$rawdata = file_get_contents($url);
//写入
fwrite($fp, $rawdata);
fclose($fp);
// 返回路径
return '/'. $file_path . $rename . "." . $ext;
}