PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载代码如下:php/*** PHP下载远程图片到本地** @param $url string 远程文件地址* @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)
* @param $fileType array 允许的文件类型* @param $dirName string 文件保存的路径(路径其余部分根据时间系统自动生成)
* @param $type int 远程获取文件的方式* @return json 返回文件名、文件的保存路径* @author blog.snsgou.com*/ function getImage($url, $fileName = '', $dirName, $fileType = array('jpg', 'gif'), $type = 1){if ($url == ''){return false;}// 获取文件原文件名$defaultFileName = basename($url);// 获取文件类型$suffix = substr(strrchr($url, '.'), 1);if (!in_array($suffix, $fileType)){return false;}// 设置保存后的文件名$fileName = $fileName == '' ? time() . rand(0, 9) . '.' . $suffix : $defaultFileName;// 获取远程文件资源if ($type){$ch = curl_init();$timeout = 15; // 超时时间curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file = curl_exec($ch);curl_close($ch);}else{ob_start();readfile($url);$file = ob_get_contents();ob_end_clean();}// 设置文件保存路径$dirName = $dirName . '/' . date('Y', time()) . '/' . date('m', time()) . '/' . date('d', time()) . '/';if (!file_exists($dirName)){mkdir($dirName, 0777, true);}// 保存文件$res = fopen($dirName . $fileName, 'a');fwrite($res, $file);fclose($res);return "{'fileName':$fileName, 'saveDir':$dirName}";}// 举例// 返回:{'fileName':13668030896.jpg, 'saveDir':/www/test/img/2013/04/24
