php 远程图片保存到本地的函数类

前端之家收集整理的这篇文章主要介绍了php 远程图片保存到本地的函数类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<?PHP @H_3010@// @H301_0@// Function: 获取远程图片并把它保存到本地 @H_3010@// @H3010@// @H301_0@// 确定您有把文件写入本地服务器的权限 @H_3010@// @H3010@// @H3010@// 变量说明: @H301_0@// $url 是远程图片的完整URL地址,不能为空。 @H_301_0@// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 @H_301_0@// 自动生成. @H_3010@function GrabImage($url,$filename="") { @H3010@if($url==""):return false;endif; @H3010@if($filename=="") { @H3010@$ext=strrchr($url,"."); @H3010@if($ext!=".gif" && $ext!=".jpg"):return false;endif; @H3010@$filename=date("dMYHis").$ext; @H3010@} @H301_0@obstart(); @H3010@readfile($url); @H301_0@$img = ob_getcontents(); @H301_0@ob_endclean(); @H3010@$size = strlen($img); @H3010@$fp2=@fopen($filename,"a"); @H3010@fwrite($fp2,$img); @H3010@fclose($fp2); @H3010@return $filename; @H3010@} @H3010@$img=GrabImage("/upload/20081208002838680.jpg",""); @H301_0@if($img):echo '

<img src="'.$img.'">
';else:echo "false";endif; ?>Dedecms中的: if(!empty($saveremoteimg)) @H_3010@{ @H3010@$body = stripslashes($body); @H301_0@$imgarray = array(); @H301_0@preg_match_all("/(src|SRC)=[\"|'| ]{0,}(http:\/\/(.*).(gif|jpg|jpeg|bmp|png))/isU",$body,$imgarray); @H301_0@$img_array = array_unique($imgarray[2]); @H301_0@set_timelimit(0); @H301_0@$imgUrl = $imgdir."/".strftime("%Y%m%d",time()); @H301_0@$imgPath = $basedir.$imgUrl; @H3010@$milliSecond = strftime("%H%M%S",time()); @H301_0@if(!isdir($imgPath)) @mkdir($imgPath,0777); @H301_0@foreach($imgarray as $key =>$value) @H3010@{ @H3010@$value = trim($value); @H301_0@$get_file = @file_getcontents($value); @H3010@$rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3); @H3010@$fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,3); @H301_0@if($getfile) @H3010@{ @H3010@$fp = @fopen($rndFileName,"w"); @H301_0@@fwrite($fp,$getfile); @H3010@@fclose($fp); @H3010@} @H301_0@$body = eregreplace($value,$fileurl,$body); @H3010@} @H3010@$body = addslashes($body); @H301_0@}

猜你在找的PHP相关文章