当前位置:编程学习 > php >>

修改几个文件后,Dedecms 5.3版(GB)的在删除文件同时可删除图片等附件

经过多日测试,修改几个文件后,5.3版(GB)的在删除文件同时可删除图片等附件.具体测试了专题.文章类.图集类。这几个类别的

另外几个类别只测试了一次分类信息但没有成功。

(期待高人能解决分类信息在删除文章的同时可将自带的图片等附件全删除。先谢谢了。)注明:我的站没上线,仅是本机测试。

其他类别的都没做测试。需要修改的文件为:

include文件夹中的inc中的inc_fun_funAdmin.php     inc_fun_funString.php   inc_stat.php

将下面代码替换

//把新上传的图片信息保存到媒体文档管理档案中
        $inquery = "
        INSERT INTO dede_uploads(title,url,mediatype,width,height,playtime,filesize,uptime,mid)

替换修改如下:
//把新上传的图片信息保存到媒体文档管理档案中
        INSERT INTO dede_uploads "
        INSERT INTO dede_uploads(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid($arcID))

dede文件夹中的inc中的inc_archives_functi*****.php

dede文件夹中的album_add.php  album_edit.php

include文件夹中的dialog中的  select_soft_post.php

以上修改都类似,具体可参考这里:(抱歉原创作者网址没找到)以下为dede论坛某位高手的内容,我无法找到原文网址。在下贴出原文供大家参考:

查找所有的文件,找到INSERT INTO dede_uploads

看看括号里有没有arcid这个字段,没有就手工加上去,后面的括号记得加上'$arcID'

找到$arcID = GetIndexKey,一定要把这段至少遇到INSERT INTO dede_uploads的前面去,最好是代码的最前面,如果$arcID = GetIndexKey这段已经在INSERT INTO dede_uploads这段的前面就不用移了

然后打开inc/inc_batchup.php找到155行,在后面加上以下代码

$dsql->SetQuery("Select * from `dede_uploads` where arcid='$aid'");
$dsql->Execute();
while($row = $dsql->GetObject())
{
  $file=$row->url;
  @unlink("..".$file);
}
$dsql->ExecuteNoneQuery("Delete From `dede_uploads` where arcid='$aid' ");

就可以解决不删除图片的问题啦,主要是一定要uploads表存进东西了就得了

 

 


爱电脑 就爱www.zzzyk.com 电脑知识网

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,