内容摘要://保存图片并返回本地绝对路径,参数远程图片路径数组functionsaveimage($path){if($path=='')returnfalse;$pathArr=array();foreach($pathas$key=>$value){$url=$value;//远...
-
- //保存图片并返回本地绝对路径,参数远程图片路径数组
- function saveimage($path) {
- if ($path == '') return false;
- $pathArr = array();
- foreach ($path as $key => $value) {
- $url = $value; //远程图片路径
- if(stripos($url,'http://')!== false or stripos($url,'ftp://')!== false){ //仅处理外部路径
- $filename = substr($value, strripos($value, '/')); //图片名.后缀
- $ext = substr($value, strripos($value, '.')); //图片后缀
- $picdir = '.'.C('installdir').'uploadfile/' . date('Ym/d') . '/'; //组合图片路径
- if(!file_exists($picdir)){createdir($picdir);}else{$t='生成文件夹失败 请检查权限!';}//缩略图所需文件夹不存在就生成下
- if(!file_exists($picdir)){$t='生成文件夹失败 请检查权限 生成路径='.$picdir;}
- $savepath = $picdir . strtotime("now") . $ext; //保存新图片路径
- ob_start(); //开启缓冲
- readfile($url); //读取图片
- $img = ob_get_contents(); //保存到缓冲区
- ob_end_clean(); //关闭缓冲
- $fp2 = @fopen($savepath, "a"); //打开本地保存图片文件
- fwrite($fp2, $img); //写入图片
- fclose($fp2);
- //图片路径入库
- $model = M('Upload');
- $data['dir'] = str_ireplace('./','/',$savepath);
- $data['ext'] = str_ireplace('.','',$ext);
- $data['aid'] = 0;
- $data['cid'] = 0;
- $data['time'] = strtotime("now");
- $qnewid = $model->add($data);
- addwatermark($savepath); //图片添加水印
- } else {
- $savepath = $value;
- }
- $pathArr[] = str_ireplace('./', '/', $savepath); //返回本地图片html版本路径
- }
- return $pathArr; //返回本地保存绝对路径
- }