/** * @param string $file_url 下载文件地址 * @param string $save_path 下载文件保存目录 * @param string $file_name 下载文件保存名称 * @return bool */ function curlDownFile($file_url, $save_path = '', $file_name = '') { // 没有远程url或已下载文件,返回false if (trim($file_url) == '' || file_exists( $save_path.$file_name )) { return false; } // 若没指定目录,则默认当前目录 if (trim($save_path) == '') { $save_path = './'; } // 若指定的目录没有,则创建 if (!file_exists($save_path) && !mkdir($save_path, 0777, true)) { return false; } // 若没指定文件名,则自动命名 if (trim($file_name) == '') { $file_ext = strrchr($file_url, '.'); $file_exts = array('.gif', '.jpg', '.png','mp3'); if (!in_array($file_ext, $file_exts)) { return false; } $file_name = time() . $file_ext; } // curl下载文件 $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $file_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file = curl_exec($ch); curl_close($ch); // 保存文件到指定路径 file_put_contents($save_path.$file_name, $file); // 释放文件内存 unset($file); // 执行成功,返回true return true; }
转载:https://www.psay.cn/code/119.html