php下载远程图片保存到本地
/** * 下载远程图片保存到本地 * @param $url 文件url * @param $save_dir 保存文件目录 * @param $filename 保存文件名称 * @param $type 使用的下载方式 * @return bool */ function downloadImage($url, $save_dir = '', $filename = '') { if (trim($url) == '') { return ''; } if (trim($save_dir) == '') { $save_dir = './'; } if (trim($filename) == '') { //保存文件名 $ext = strrchr($url, '.'); if ($ext != '.gif' && $ext != '.jpg' && $ext != '.png' && $ext != '.jpeg') { return ''; } $filename = uniqid() . $ext; } if (0 !== strrpos($save_dir, '/')) { $save_dir .= '/'; } //创建保存目录 if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) { return ''; } //获取远程文件所采用的方法 try { ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); } catch (\Exception $e) { // 下载失败,返回原路径 return ''; } //文件大小 $fp2 = @fopen($save_dir . $filename, 'a'); fwrite($fp2, $img); fclose($fp2); unset($img, $url); // 返回文件路径 $localPath = $save_dir . $filename; return public_path() . $localPath; }
本文作者:潘潘潘的博客
本文链接:https://www.cnblogs.com/seanpan/p/18006149
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步