dede图集删除后,本地图片无法删除。怎么解决啊?

dede/inc_batchup.php有删除附件的代码,但是不管用。文件目录权限都是777dede代码。//删除相关附件if($cfg_upload_switch=='... dede/inc_batchup.php 有删除附件的代码,但是不管用。文件目录权限都是777

dede代码。
//删除相关附件

if($cfg_upload_switch == 'Y')
{
$dsql->Execute("url", "SELECT * FROM `#@__uploads` WHERE arcid = '$aid'");
while($row = $dsql->GetArray('url'))
{
$addfile = $row['url'];
$aid = $row['aid'];
$dsql->ExecuteNoneQuery("Delete From `#@__uploads` where aid = '$aid' ");
$upfile = $cfg_basedir.$addfile;
if(@file_exists($upfile)) @unlink($upfile);

}
}

有人遇到这个问题吗?请问如何解决
展开
 我来答
辞友缘心
推荐于2016-02-11 · TA获得超过684个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:359万
展开全部
你在$upfile = $cfg_basedir.$addfile;

这句后面加上
var_dump($upfile);exit();
然后删除一个图集测试一下,看看打印出来的文件路径是否正确。

如果正确接下来的代码在有权限的情况下肯定会将文件删掉。

同时在判断下 while循环是否正常进入。
更多追问追答
追问
不行呢。dede_uploads 里的url 是这样的:/uploads/all_image/130915/1124232Z8-0.jpg
字段arcid是dede图集的ID。
字段aid 是图集的图片ID。

unlink(url) 要哦删除属于arcid的所有aid
追答
你确认一下/uploads/all_image/130915/1124232Z8-0.jpg路径针对你网站的根目录能否找到图片,如果你修改了附件存储位置,这里就要根据你修改的规则改一下。
NBmarx
2014-10-15 · TA获得超过135个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:41.6万
展开全部
1、地址:你打印下目录地址,看看是否准确, $cfg_basedir看看这个变量的值是多少,如果是地址的问题话,根据图片存放的目录重新写一下;

2、删除:你可以直接删一个存放目录里的图片,比如:unlink('d:\appserv\statics\images\xxx.jpg');
更多追问追答
追问
$cfg_basedir 是CMS安装目录。变量为空

unlink($upfile); 文件样式是 /uploads/all_image/130915/1124232Z8-0.jpg 这样的

是不是需要转成
unlink('d:\appserv\statics\images\xxx.jpg');

这样的才能删除
追答
$cfg_basedir这个变量既然为空,那么你现在应带获得图片所在的文件夹地址,
1、你可以明文设定,即:xxx/uploads/all_image/130915/1124232Z8-0.jpg
,xxx要跟这段路径对的上
2、也可以通过函数获得:dirname(__file__),然后根据你当前文件的位置,设置准确路径

最后把所获得的路径赋给$cfg_basedir这个变量,记得写在前面

例:
$cfg_basedir = dirname(__file__);//或者 $cfg_basedir = “/uploads/all_image/130915/”
$dsql->Execute("url", "SELECT * FROM `#@__uploads` WHERE arcid = '$aid'");
while($row = $dsql->GetArray('url'))
{
$addfile = $row['url'];
$aid = $row['aid'];
$dsql->ExecuteNoneQuery("Delete From `#@__uploads` where aid = '$aid' ");
$upfile = $cfg_basedir.$addfile;
if(@file_exists($upfile)) @unlink($upfile);

}
对于路径问题一定要注意,因为你要找对了路径,才能删除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式