应用场景:
1.下载微信头像保存至本地服务器或者阿里云oss
2.保存富文本网络文件到本地服务器
/**
* 下载网络资源上传至阿里云
* @param string $url 网络资源
* @param string $saveDir 保存目录
* @return string 返回成功文件在oss的储存路径
* @throws Exception
*/
public static function downloadFileToOss(string $url, string $saveDir){
//获取网络文件字符串内容
$imageStr = file_get_contents($url);
//创建临时文件资源
$resource = tmpfile();
//获取临时文件资源信息
$metaInfo = stream_get_meta_data($resource);
//获取临时文件真实路径
$tmpFileRealPath = $metaInfo['uri'];
//把网络文件内容写入临时资源文件
$size = fwrite($resource,$imageStr);
//重置游标位置到文件开始位置
rewind($resource);
//获取文件前两个字节
$bin = fread($resource,2);
$str_info = @unpack("C2chars", $bin);
$type_code = intval($str_info['chars1'].$str_info['cha