文章分类 Classification
删除新闻同时删除新闻图片
稿件来源: 阳光企业网站管理系统 撰稿作者: 太阳光 发表日期: 2011-04-15 阅读次数: 277 查看权限: 游客查看
探讨网站内容图片删除方法
昨晚在UC里,一同学问我“怎么样删除新闻里的图片?”。很快另一位同学提出使用FSO组件,并且说必须把上传的图片与新闻ID联系起来保存到数据库里,删除新闻时联动删除数据的内容,对此我表示强烈反对!
用数据库保存上传记录的方法我也曾见过,但并没有广泛应用,本人觉得此方法有以下几点问题:
1、上传图片难以与新闻ID对应起来。在新增新闻前它的ID还不存在,此时上传的图片无法与其对应起来。
2、上传图片记录难以保存。网页在线编辑器一般使用的是现成,比如FCK,eWebEditor等不含上传记录功能,如果你要添加此功能并非易事。
3、上传图片记录易出错,图片误删。举例,就算你添加上传图片记录功能,我在新加新闻时上传了几张图片,但出意外新闻没保存成功。接下来我在修改其他新闻时使用了部分此时上传的图片。但这几张图片对应的新闻ID是为空的,很快就被错杀。
4、上传图片记录多此一举,又增加负担。有些图片通过FTP上传的也保存不了记录。
总之此方法缺点多过优点。其实我们的要求就是删除新闻中连接的本站图片(远程图片想删除也删除不了)所以我们只要提取新闻中的图片地址做一些判断然后删除即可!
<% dim conter center="新闻内容...." '==读取文章内容里的图片地址 Dim objRegExp,Matches,Match,s_str,fso,path set fso=server.CreateObject("scripting.filesystemobject") '设置fso对像 Set objRegExp = New Regexp '建立正则规则 objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "src\=.+?\.(gif|jpg|jpeg|png|bmp)" '提取的是这几种图片格式 Set Matches =objRegExp.Execute(center) '开始搜索 For Each Match in Matches '循环执行 s_str=Lcase(replace(Match.Value,"src=","")) '替换字符并转成小写 s_str=replace(replace(s_str,"""",""),"'","") '替换单双引号 If left(s_str,13)="/fuploadfile/" Then '判断是不是本站图片地址 path=Server.MapPath(s_str) '获取服务器物理路径 If fso.FileExists(path) Then '判断文件是否存在 fso.deleteFile(path) '删除文件 End If End If Next %>
当然如果有些图片上传了,但没有使用到新闻中那就删除不了。这就需要另制作一个“上传文件管理”功能,直接管理上传文件夹。飞腾CMS、阳光企业网站系统都有此功能。
关键词: 删除图片,fso,图片上传 编辑时间: 2011-04-15
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
0%(0)
0%(0)
- 中搜索:删除新闻同时删除新闻图片
- 中搜索:删除新闻同时删除新闻图片
- 暂无评论
文章图片 article Pictrue
网友评论