php如何将远程图片本地化,本文分享了实现代码
]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[1]);
$imgUrl = $cfg_uploaddir.'/'.date("ymd", time());
$imgPath = $cfg_basedir.$imgUrl;
if(!is_dir($imgPath.'/'))
{
MkdirAll($imgPath, $GLOBALS['cfg_dir_purview']);
CloseFtp();
}
$milliSecond = date('His',time());
foreach($img_array as $key=>$value)
{
if(preg_match("#".$basehost."#i", $value))
{
continue;
}
if(preg_match("#".$basehost."#i", $value))
{
continue;
}
if(!preg_match("#^http:\/\/#i", $value))
{
continue;
}
$http=pget($value,'$value',true);
$itype=($http['head']['content_type']);
if(!preg_match("#\.(jpg|gif|png)#i", $itype))
{
if($itype=='image/gif')
{
$itype = ".gif";
}
else if($itype=='image/png')
{
$itype = ".png";
}
else
{
$itype = '.jpg';
}
}
$milliSecondN = rand(1000,9999).rand(1000,9999);
$value = trim($value);
$rndFileName = $imgPath.'/'.$milliSecondN.'-'.$key.$itype;
$fileurl = $imgUrl.'/'.$milliSecondN.'-'.$key.$itype;
$tp = fopen($rndFileName, 'wb');
fwrite($tp, $http['data']);
fclose($tp);
if(file_exists($cfg_basedir.$fileurl))
{
$info = '';
$imginfos = GetImageSize($rndFileName, $info);
$fsize = filesize($rndFileName);
$body = str_replace($value, $fileurl, $body);
}
}
return $body;
}
//调用方式
echo GetCurContent($body);
以上就是实现远程图片本地化的全部代码,希望对大家的学习有所帮助。 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网