DEDE,[小功能]删除文章时删除缩图和内容中大图 (2008-03-13 15:25:13)
来源:互联网 发布:南京生产线仿真软件 编辑:程序博客网 时间:2024/06/06 09:10
DEDE,[小功能]删除文章时删除缩图和内容中大图
(2008-03-13 15:25:13)转载▼
标签: 我测试删了一篇,缩略图能删掉,文章内的大图没测试,有问题回帖!
打开dede/inc/inc_batchup.php
找到"//删除数据库的内容"
在这前面加上
//删除缩略图
if($arcRow['litpic']!=""){
$dsql->ExecuteNoneQuery("Delete From #@__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 #@__uploads where url='$v'");
$picfile = $truedir.$v;
@unlink($picfile);
}
}
//删除数据库的内容
第二处:
找到
Select #@__archives.ID,#@__archives.title,#@__archives.typeid
改为:
Select #@__archives.ID,#@__archives.title,#@__archives.typeid,#@__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];
}
}
接下来打开"/dede/inc/inc_batchup.php"文件。
1:在33行下方加入,也就是"$arcRow = $dsql->GetOne($arcQuery);"下方:
$arcBodyRow = GetArcBody($aid);
2:在138行下方加入,也就是"return true;"上方:
//解析Body中的资源,并删除
$willDelFiles = GetPicsTruePath($arcBodyRow['body'],$arcRow['litpic']);
$nowtime = time();
$executetime = MyDate('Y-m-d H:i:s',$nowtime);//获得执行时间
$msg = " 文章标题:$arcRow[title]";
WriteToDelFiles($msg);
if(!empty($willDelFiles))
{
foreach($willDelFiles as $file)
{
if(file_exists($file) && !is_dir($file))
{
if(unlink($file)) $msg = " 位置:$file 结果:删除成功! 时间:$executetime";
else $msg = " 位置:$file 结果:删除失败! 时间:$executetime";
}
else $msg = " 位置:$file 结果:文件不存! 时间:$executetime";
WriteToDelFiles($msg);
}//END foreach
}
else
{
$msg = " 未在Body中解析到数据 Body原始数据:$arcBodyRow[body] 时间:$executetime";
WriteToDelFiles($msg);
}
互联网
it
dede
php
打开dede/inc/inc_batchup.php
找到"//删除数据库的内容"
在这前面加上
第二处:
找到
改为:
第三处:
在文件最后加上一函数
//获得内容中的图像地址
function GetImageSrc($body){
}
---------------------------------------------end---------------------------------------------------
方法2:
首先,在"/include"目录下建立"extend.func.php"文件. 然后,将以下内容保存在"extend.func.php"文件中,一共三个函数:
//解析body数据,获得所有图片的绝对地址
function GetPicsTruePath($body,$litpic)
{
$delfiles = array();//存储图片地址数据
if(!empty($litpic))
{
$litpicpath = GetTruePath();
$litpicpath .= $litpic;
$delfiles[] = $litpicpath;//缩略图地址
}
preg_match_all("/src=["|'|S|s]([^ title="liehuo.net" |/|>]*){0,}(([^>]*).(gif|jpg|png))/isU",$body,$tmpdata);
$picspath = array_unique($tmpdata[2]);//body中所有图片的地址
foreach($picspath as $tmppath)
{
$path = GetTruePath();//获得绝对路径
$picpath = preg_replace("/[a-zA-z]+://[^ |/|s]*/",'',$tmppath);//去掉网址部分
$path .=$picpath;
$delfiles[] = $path;//保存处理后的数据
}
return $delfiles;
}
//获得文章Body数据
function GetArcBody($aid)
{
global $dsql;
$query = "SELECT [url=mailto:dede_addonarticle.body]dede_addonarticle.body[/url] FROM [url=mailto:%60dede_addonarticle]`dede_addonarticle[/url]` WHERE [url=mailto:dede_addonarticle.aid]dede_addonarticle.aid[/url] = '$aid'";
$row = $dsql->GetOne($query);
if(is_array($row))
return $row;
else
return false;
}
//写入日志文件
function WriteToDelFiles($msg)//删除文章的时候会通过此函数记录日志
{
if(empty($msg)) $savemsg="未获得消息";
else $savemsg = $msg;
$errorFile = dirname(__FILE__).'/../data/del_body_file.txt';//删除记录文件
$fp = @fopen($errorFile, 'a');
@fwrite($fp," {$savemsg}");
@fclose($fp);
}
function GetPicsTruePath($body,$litpic)
{
$delfiles = array();//存储图片地址数据
if(!empty($litpic))
{
$litpicpath = GetTruePath();
$litpicpath .= $litpic;
$delfiles[] = $litpicpath;//缩略图地址
}
preg_match_all("/src=["|'|S|s]([^ title="liehuo.net" |/|>]*){0,}(([^>]*).(gif|jpg|png))/isU",$body,$tmpdata);
$picspath = array_unique($tmpdata[2]);//body中所有图片的地址
foreach($picspath as $tmppath)
{
$path = GetTruePath();//获得绝对路径
$picpath = preg_replace("/[a-zA-z]+://[^ |/|s]*/",'',$tmppath);//去掉网址部分
$path .=$picpath;
$delfiles[] = $path;//保存处理后的数据
}
return $delfiles;
}
//获得文章Body数据
function GetArcBody($aid)
{
global $dsql;
$query = "SELECT [url=mailto:dede_addonarticle.body]dede_addonarticle.body[/url] FROM [url=mailto:%60dede_addonarticle]`dede_addonarticle[/url]` WHERE [url=mailto:dede_addonarticle.aid]dede_addonarticle.aid[/url] = '$aid'";
$row = $dsql->GetOne($query);
if(is_array($row))
return $row;
else
return false;
}
//写入日志文件
function WriteToDelFiles($msg)//删除文章的时候会通过此函数记录日志
{
if(empty($msg)) $savemsg="未获得消息";
else $savemsg = $msg;
$errorFile = dirname(__FILE__).'/../data/del_body_file.txt';//删除记录文件
$fp = @fopen($errorFile, 'a');
@fwrite($fp," {$savemsg}");
@fclose($fp);
}
接下来打开"/dede/inc/inc_batchup.php"文件。
1:在33行下方加入,也就是"$arcRow = $dsql->GetOne($arcQuery);"下方:
$arcBodyRow = GetArcBody($aid);
2:在138行下方加入,也就是"return true;"上方:
复制代码代码如下:
//解析Body中的资源,并删除
$willDelFiles = GetPicsTruePath($arcBodyRow['body'],$arcRow['litpic']);
$nowtime = time();
$executetime = MyDate('Y-m-d H:i:s',$nowtime);//获得执行时间
$msg = " 文章标题:$arcRow[title]";
WriteToDelFiles($msg);
if(!empty($willDelFiles))
{
foreach($willDelFiles as $file)
{
if(file_exists($file) && !is_dir($file))
{
if(unlink($file)) $msg = " 位置:$file 结果:删除成功! 时间:$executetime";
else $msg = " 位置:$file 结果:删除失败! 时间:$executetime";
}
else $msg = " 位置:$file 结果:文件不存! 时间:$executetime";
WriteToDelFiles($msg);
}//END foreach
}
else
{
$msg = " 未在Body中解析到数据 Body原始数据:$arcBodyRow[body] 时间:$executetime";
WriteToDelFiles($msg);
}
0 0
- DEDE,[小功能]删除文章时删除缩图和内容中大图 (2008-03-13 15:25:13)
- dede批量删除文章
- 使用php自动将文章标题或内容进行分词,添加和删除标签功能实例!
- 用Gallery和ImageSwitcher显示从SD卡中获得略缩图和大图
- 如何删除dede中自定义的字段
- dede后台文章已删除,分页还在
- 一次删除织梦DEDE所有文章文档
- 如何批量删除织梦dede后台所有文章以及删除指定文章
- 小程序列表删除功能
- DataGrid中删除功能
- 项目中删除功能
- dede 删除评论
- DEDE中实现复制文章时自动加上版权的功能
- word中显示删除内容
- 删除Docbar中的添加内容功能
- Eclipse中如何恢复已删除文件和内容
- GridView 实现删除功能时,注意的一点小问题
- java中File类创建和删除功能
- 小米手机碎屏后米四启动屏幕虚拟键,禁用实体键
- 5、SQL里面的排序语句desc和ASC有什么区别
- 要纯正完全-像精金一样
- PHP什么时候释放内存???5
- 正则
- DEDE,[小功能]删除文章时删除缩图和内容中大图 (2008-03-13 15:25:13)
- Android之jni入门
- 奉主耶稣基督的名净化心灵
- 【转】XSS跨站脚本攻击原理
- 求主导引-要大发热心
- 巧用isee“压缩”限制图片的文件大小及其尺寸
- 基于TMS320F28335的运动控制器--开发与调试记录1
- 面对网络色情的试探,基督徒…
- 173. Binary Search Tree Iterator
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
唱片封面
留声机唱片
白金唱片
电唱机唱片
老式唱片机
薄膜唱片
上华唱片
百代唱片
蓝白唱片
瑞鸣唱片
唱片英文
龙源唱片
刀马旦唱片
炫音唱片
费玉清唱片
福茂唱片
13号唱片吓死图
11号唱片吓死多少人
黑胶唱片机 价格
中国唱片公司
黑胶唱片机 推荐
环球唱片公司旗下艺人
唱片公司排行
全球唱片销量排行榜
黑胶唱片尺寸
黑胶唱片价格
唱片机哪个牌子好
哪里有卖唱片机
黑胶密纹唱片
环球唱片公司
一张唱片多少钱
风和日丽唱片公司
妙音唱片公司
全球三大唱片公司
黑胶碟唱片机
风潮唱片公司
青春之火黑胶唱片
唱腔另类
秦腔唱腔
唱腔
唱腔软糯细腻