织梦(Dedecms)删除网站没有使用的图片文件

发布时间: 2021-01-9 67 人阅读
在使用dedecms系统建站的时候有时间更换图片或者删除文章,但是文章删除的同时图片还是在服务器里面,很占用服务器的空间,手动删除的话也无法去找到哪些是没有在使用的。
下面给大家出个教程
1、删除文章的同时,删除该文章内的图片,
打开dede/inc/inc_batchup.php文件
找到
“//删除数据库的内容”
在它上面加入
//删除缩略图
if($arcRow[‘litpic’]!=””){
$dsql->ExecuteNoneQuery(“Delete From dede_uploads where url=’$arcRow[litpic]'”);
$truedir = GetTruePath($arcRow[‘siterefer’],$arcRow[‘sitepath’]);
$litpicfile = $truedir.$arcRow[‘litpic’];
@unlink($litpicfile);
}
//删除大图
$arcbodyQuery = “Select * from “.$arcRow[‘addtable’].” where aid=’$aid'”;
$arcbodyRow = $dsql->GetOne($arcbodyQuery);
$imgsrcarray=GetImageSrc($arcbodyRow[‘body’]);
foreach ($imgsrcarray as $v) {
if((trim($v)!=””)&&(!eregi(“^http://”,$v))){
$dsql->ExecuteNoneQuery(“Delete From dede_uploads where url=’$v'”);
$picfile = $truedir.$v;
@unlink($picfile);
}
}
//删除数据库的内容
再找到
Select dede_archives.ID,dede_archives.title,dede_archives.typeid
改为:
Select dede_archives.ID,dede_archives.title,dede_archives.typeid,dede_archives.litpic
在文件最后面加上一函数
//获得内容中的图像地址
function GetImageSrc($body){
if( !isset($body)) return ”;
else{
preg_match_all (“/<(img|IMG)(.*)(src|SRC)=[“|’|]{0,}([h|/].*(jpg|JPG|gif|GIF))[“|’|s]{0,}/isU”,$body,$out);
return $out[4];
}
}
2、删除之前已经删除过文章存在的图片。 
打开dede/templets/content_batch_up.htm文件
找到下面代码:
<inputclass=”np”type=”radio”checked=”checked”name=”action”value=”modddpic”/><br /> 
更正缩图错误<br /> 
<inputclass=”np”type=”radio”name=”action”value=”delerrdata”/><br /> 
清空错误的文档数据</td>
改成:
<inputclass=”np”type=”radio”checked=”checked”name=”action”value=”modddpic”/><br /> 
更正缩图错误<br /> <inputclass=”np”type=”radio”name=”action”value=”delerrdata”/><br /> 
清空错误的文档数据<br /> <inputclass=”np”type=”radio”name=”action”value=”delerrpic”/><br /> 
清空错误的图片</td>
打开dede/content_batchup_actionphp
在最后一个大括号后增加
elseif($action == ‘delerrpic’)
{
$file_a=array();
function rFile($p){
global $file_a;
$handle=opendir($p);
$dir_a=array();
while ($file = readdir($handle)) {
if($file!=”.” && $file!=”..”){
$tmp=$p.”/”.$file;
if(is_dir($tmp)){
$dir_a[count($dir_a)]=$tmp;
}elseif(is_file($tmp)){
$file_a[count($file_a)]=$tmp;
}
}
}
closedir($handle);
foreach($dir_a as $v){
rFile($v);
}
}
rFile(“../uploads/allimg”);//调用,要遍历的目录
foreach($file_a as $v){
$temp=substr($v,2);
$query = “select count(*) from dede_addonarticle where body like ‘%”.$temp.”%'”;
$dsql->setquery($query);
$dsql->execute();
while($row = $dsql->getarray())
{
if($row[0]==0){
if(substr($v, -8, 4)!=”_lit” && substr($v, -10, 5)!=”index”){
if(file_exists($v))
unlink($v);
}
}
 
}
}
$dsql->Close();
ShowMsg(“成功清除错误图片!”,”javascript:;”);
exit();
}

推广佣金:用户充值即可返最高20%的佣金(可提现), 即刻注册会员获取推广链接。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!vip@mobanstar.com
2. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
8. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
9. 如遇到加密压缩包,默认解压密码为"www.mobanstar.com",如遇到无法解压的请联系管理员!

模板星 » 织梦(Dedecms)删除网站没有使用的图片文件

常见问题FAQ

购买的模板是永久使用的嘛?需要授权码嘛?
凡是在模板星购买的模板/主题都是支持永久使用的,无需购买授权码,请用户放心购买使用。
VIP模板提供安装服务嘛?需要收费嘛?
凡在模板星购买的模板/主题均可提供一次免费安装服务(需提供空间及数据库账号),请用户放心购买。

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题模板优化等服务请详询在线客服
    2、承接DedeCMS、 WordPress等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email:vip@mobanstar.com),我们会及时删除,给您带来的不便,我们深表歉意!

目前已经有 1566 位会员加入