问个删除文件夹的思路? 如果用php删除,只有递归了,没有什么好办法,但是楼主可以用:exec('rm -rf folder1'),也就是直接调用linxu命令来实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也知道要用递归,可是没有什么思路.to: screend(流浪小子):偶还要删除数据库中的dd /***才写的--获取删除的数据数组*可惜测试不同* wdir 是要删除的文件的路径*$sql 是我写的数据库类*把所有的 ' $sql-> '换成mysql_就可以测试**///检查是否有儿子function check_son($del_id){ global $sql; $query = "select count(*) from folder where f_parent ='".$del_id."'"; $rst = $sql->query($query); $row = $sql->fetch_row($rst); $qy = "select count(*) from document where d_parent ='".$del_id."' "; $ret = $sql->query($qy); $rw = $sql->fetch_row($ret); if(($row[0]+$rw[0])>0){ $back = 1; }else{ $back = 0; } return $back;}//要删除的文件夹的数组function folder_ar($id,$wdir){ global $sql; $query = "select * from foler where f_parent = '$id'"; $back = array(); $rst = $sql->query($query); while($row = $sql->fetch_array($rst)){ $wdir = $wdir."/".$row[f_name]; array_push($row,"wdir=>$wdir"); $back[] = $row; } return $back;}//要删除的文件的数组function doc_ar($id,$wdir){ global $sql; $query = "select * from document where f_parent = '$id'"; $back = array(); $rst = $sql->query($query); while($row = $sql->fetch_array($rst)){ $wdir = $wdir."/".$row[d_name]; array_push($row,"wdir=>$wdir"); $back[] = $row; } return $back;}//要删除的文件及文件夹数据--数组function del_ar($id,$wdir){ global $sql; static $del_ar = array(); static $i = 0; if(check($del_id)){ $folder = folder_ar($id,$wdir); $doc = doc_ar($id,$wdir); $dl_ar[$i][folder] = $folder; $dl_ar[$i][doc] = $doc; foreach($folder as $k=>$v){ del_ar($v[f_id],$v[wdir]); } foreach($folder as $key=>$val){ del_ar($val[f_id],$val[wdir]); } } $i++; return $dl_ar;} 看来上面的程序.只是语法错了点逻辑---只是 wdir 错了. <?phpfunction zRmDir($path) { $directory = dir($path); while($entry = $directory->read()) { if ($entry != "." && $entry != "..") { if (Is_Dir($path."/".$entry)) { zRmDir($path."/".$entry); } else { @UnLink ($path."/".$entry); } } } $directory->close(); @RmDir($path);}zRmDir("ttt");?>zRmDir()函数可以删除目录及目录下面的所有下级目录与文件;测试成功。我的目录结构如下:ttt |--tt.txt |--bbbbbb |--dd.txt |--gggggggggggggggg执行后,全部删除。 如果能执行exec,最好调用系统命令,效率高的多。 关于AS3和php进行数据交互的问题 大家帮我看看这个代码,改了好长时间了就是改不出来,麻烦大家了 text传值问题。。。 在线急等,时间差问题 一个表中的字段名和另一个表中的字段值能联系起来吗? apache和PHP关联不起来 标题上关键字怎么样显示红色 关于MYSQL库中搜索匹配条件的问题????谢谢!!(急) 求助?关于用php开发在线的象棋系统如何下手? 关于APACHE+PHP+MYSQL的安装问题 ZendOptimizer问题 何处得到phpUnit
to: screend(流浪小子):偶还要删除数据库中的dd
*才写的--获取删除的数据数组
*可惜测试不同
* wdir 是要删除的文件的路径
*$sql 是我写的数据库类
*把所有的 ' $sql-> '换成mysql_就可以测试
**/
//检查是否有儿子
function check_son($del_id){
global $sql;
$query = "select count(*) from folder where f_parent ='".$del_id."'";
$rst = $sql->query($query);
$row = $sql->fetch_row($rst);
$qy = "select count(*) from document where d_parent ='".$del_id."' ";
$ret = $sql->query($qy);
$rw = $sql->fetch_row($ret);
if(($row[0]+$rw[0])>0){
$back = 1;
}else{
$back = 0;
}
return $back;
}
//要删除的文件夹的数组
function folder_ar($id,$wdir){
global $sql;
$query = "select * from foler where f_parent = '$id'";
$back = array();
$rst = $sql->query($query);
while($row = $sql->fetch_array($rst)){
$wdir = $wdir."/".$row[f_name];
array_push($row,"wdir=>$wdir");
$back[] = $row;
}
return $back;
}
//要删除的文件的数组
function doc_ar($id,$wdir){
global $sql;
$query = "select * from document where f_parent = '$id'";
$back = array();
$rst = $sql->query($query);
while($row = $sql->fetch_array($rst)){
$wdir = $wdir."/".$row[d_name];
array_push($row,"wdir=>$wdir");
$back[] = $row;
}
return $back;
}//要删除的文件及文件夹数据--数组
function del_ar($id,$wdir){
global $sql;
static $del_ar = array();
static $i = 0;
if(check($del_id)){
$folder = folder_ar($id,$wdir);
$doc = doc_ar($id,$wdir);
$dl_ar[$i][folder] = $folder;
$dl_ar[$i][doc] = $doc;
foreach($folder as $k=>$v){
del_ar($v[f_id],$v[wdir]);
}
foreach($folder as $key=>$val){
del_ar($val[f_id],$val[wdir]);
}
}
$i++;
return $dl_ar;
}
逻辑---只是 wdir 错了.
{
$directory = dir($path);
while($entry = $directory->read()) {
if ($entry != "." && $entry != "..") {
if (Is_Dir($path."/".$entry)) {
zRmDir($path."/".$entry);
} else {
@UnLink ($path."/".$entry);
}
}
}
$directory->close();
@RmDir($path);
}zRmDir("ttt");
?>zRmDir()函数可以删除目录及目录下面的所有下级目录与文件;测试成功。
我的目录结构如下:ttt
|--tt.txt
|--bbbbbb
|--dd.txt
|--gggggggggggggggg执行后,全部删除。