<?php
echo '查找文章数:<span id="message2">0</span><br>成功本地化:<span id="message">0</span><br>篇文章失败:<span id="message1">0</span> <br>未发现远程图片文章数:<span id="message3">0</span> <br>';
require_once (dirname(__FILE__) . "/include/common.inc.php");
$begin=1;//文章开始id
$over=10;//文章结束id
$i=1;
$u=1;
$step=1;
$vacancy=1;
ob_implicit_flush(1);
for ($x=$begin; $x<=$over; $x++) {
sleep(1);//避免太快1s执行一次
$id=$x;
$proinfo=$dsql->GetOne("select body from `#@__archives` as a inner join `#@__addonarticle` as b on a.id=b.aid where a.id={$id} limit 1");
//输出文body字段内容
$weigeti=$proinfo[body];
//echo $weigeti;
//修改文章中的内容
$reg = "/<img[^>]*src=\"(http(|s):\/\/(.*)\.(jpg|gif|png|jpeg|bmp|bnp))\"/isU";
$reg1 = "/(http(|s):\/\/(.*)\.(jpg|gif|png|jpeg|bmp|bnp))/isU";
preg_match_all($reg, $weigeti, $img_array, PREG_PATTERN_ORDER);
$img_array = array_unique($img_array[1]);
//print_r($img_array);
foreach ($img_array as $img){
$url=parse_url($img);
$imgurl=$url[host];
if('lplp54.com'!= $imgurl){
//图片重新命名随机数加日期
$rand=rand(1, 1000);
$filename=date('Ymdhis', time()).$rand;
$file = file_get_contents($img);
$filend = "jpg";
file_put_contents('uploads/temp/'.$filename.".".$filend,$file);
//获取新图片地址,用来替换文章中的图片
$images_url='/uploads/temp/'. $filename.".".$filend;
$body = preg_replace($reg1,$images_url,$weigeti);
}
}
$body = addslashes($body);
//echo $body;
//如果$bod不为空
if($body!=''){
//更新原数据库文章,把远程图片地址更换为下载后的远程图片地址
$rs = $dsql->ExecuteNoneQuery("UPDATE `#@__addonarticle` SET body='{$body}' where aid={$id}");
if($rs){
echo '<script>document.getElementById("message").innerHTML="'.$i.'";</script>';
$i++;
}else{
echo '<script>document.getElementById("message1").innerHTML="'.$u.'";</script>';
$u++;
}
}else{
echo '<script>document.getElementById("message3").innerHTML="'.$vacancy.'";</script>';
$vacancy++;
}
echo '<script>document.getElementById("message2").innerHTML="'.$step.'";</script>';
unset($proinfo,$filename,$file,$images_url,$body); //释放内存
}
//清除缓存其他方法 echo ob_get_clean(); //获取当前缓冲区内容并清除当前的输出缓冲
织梦远程图片本地化
最新推荐文章于 2023-02-28 21:38:13 发布