php获取远程图片保存到本地
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 分享一例php获取远程图片的代码,php获取远程图片文件并保存到本地,不错的一段代码,有需要的朋友参考下。 本函数主要功能: 获取远程图片并把它保存到本地,确定有把文件写入本地服务器的权限。 变
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
分享一例php获取远程图片的代码,php获取远程图片文件并保存到本地,不错的一段代码,有需要的朋友参考下。
本函数主要功能:
获取远程图片并把它保存到本地,确定有把文件写入本地服务器的权限。
变量说明: $url 是远程图片的完整URL地址,不能为空。
$filename 是可选变量: 如果为空,本地文件名将基于时间和日期 自动生成。
代码:
代码示例:
function GrabImage($url,$filename="") {
if($url==""):return false;endif;
if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg"):return false;endif;
$filename=date("dMYHis")。$ext;
}
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
$img=GrabImage
if($img):echo '
';else:echo "false";endif;?>
下面分享一个dedecms中的获取远程图片的函数代码。
代码示例:
if(!empty($saveremoteimg))
{
$body = stripslashes($body);
$img_array = array();
preg_match_all("/(src|SRC)=[\"|'| ]{0,}(http:\/\/(。*)\.(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
set_time_limit(0);
$imgUrl = $img_dir."/".strftime("%Y%m%d",time());
$imgPath = $base_dir.$imgUrl;
$milliSecond = strftime("%H%M%S",time());
if(!is_dir($imgPath)) @mkdir($imgPath,0777);
foreach($img_array as $key =>$value)
{
$value = trim($value);
$get_file = @file_get_contents($value);
$rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);
$fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3);
if($get_file)
{
$fp = @fopen($rndFileName,"w");
@fwrite($fp,$get_file);
@fclose($fp);
}
$body = ereg_replace($value,$fileurl,$body);
}
$body = addslashes($body);
}