php递归删除树形数据 php递归删除文件

php 后台应不应该递归删除数据库

要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的!

成都创新互联是一家专业提供东乌珠穆沁企业网站建设,专注与成都网站设计、成都网站制作、外贸网站建设HTML5、小程序制作等业务。10年已为东乌珠穆沁众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

PHP递归树形菜单

可以参考以下代码,但需要把你自己的数据库链接,表等改一下就可以了

html

head

link href='style.css' rel=stylesheet

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

script language="JavaScript" src="TreeMenu.js"/script

/head

body

?php

//基本变量设置

$GLOBALS["ID"] =1; //用来跟踪下拉菜单的ID号

$layer=1; //用来跟踪当前菜单的级数

//连接数据库

$Con=mysql_connect("localhost","root","1234");

mysql_select_db("wiki");

//提取一级菜单

$sql="SELECT * FROM wiki where pid=0";

$result=mysql_query($sql,$Con);

//如果一级菜单存在则开始菜单的显示

if(mysql_num_rows($result)0) ShowTreeMenu($Con,$result,$layer,$ID);

//=============================================

//显示树型菜单函数 ShowTreeMenu($con,$result,$layer)

//$con:数据库连接

//$result:需要显示的菜单记录集

//layer:需要显示的菜单的级数

//=============================================

function ShowTreeMenu($Con,$result,$layer)

{

//取得需要显示的菜单的项目数

$numrows=mysql_num_rows($result);

//开始显示菜单,每个子菜单都用一个表格来表示

echo "table cellpadding='0' cellspacing='0' border='0'";

for($rows=0;$rows$numrows;$rows++)

{

//将当前菜单项目的内容导入数组

$menu=mysql_fetch_array($result);

//提取菜单项目的子菜单记录集

$sql="select * from wiki where pid=$menu[cid]";

$result_sub=mysql_query($sql,$Con);

echo "tr";

//如果该菜单项目有子菜单,则添加JavaScript onClick语句

if(mysql_num_rows($result_sub)0)

{

echo "td width='20'img src='folder.gif' border='0'/td";

echo "td class='Menu' onClick='javascript:ShowMenu(Menu".$GLOBALS["ID"].");'";

}

else

{

echo "td width='20'img src='file.gif' border='0'/td";

echo "td class='Menu'";

}

//如果该菜单项目没有子菜单,并指定了超级连接地址,则指定为超级连接,

//否则只显示菜单名称

//if($menu[url]!="")

//echo "a href='$menu[cid]'$menu[name]/a";

//else

echo $menu['name'];

echo "

/td

/tr

";

//如果该菜单项目有子菜单,则显示子菜单

if(mysql_num_rows($result_sub)0)

{

//指定该子菜单的ID和style,以便和onClick语句相对应

echo "tr id=Menu".$GLOBALS["ID"]++." style='display:none'";

echo "td width='20' /td";

echo "td";

//将级数加1

$layer++;

//递归调用ShowTreeMenu()函数,生成子菜单

ShowTreeMenu($Con,$result_sub,$layer);

//子菜单处理完成,返回到递归的上一层,将级数减1

$layer--;

echo "/td/tr";

}

//继续显示下一个菜单项目

}

echo "/table";

}

?

/body

/html

php递归删除目录与文件的方法

本文实例讲述了php递归删除目录与文件的方法。分享给大家供大家参考。具体实现方法如下:

?php

function

deldir($path){

$dh

=

opendir($path);

var_dump(readdir($dh));

while(($d

=

readdir($dh))

!==

false){

if($d

==

'.'

||

$d

==

'..'){//如果为.或..

continue;

}

$tmp

=

$path.'/'.$d;

if(!is_dir($tmp)){//如果为文件

unlink($tmp);

}else{//如果为目录

deldir($tmp);

}

}

closedir($dh);

rmdir($path);

}

$path

=

"./e";

deldir($path);

?

希望本文所述对大家的PHP程序设计有所帮助。


网页名称:php递归删除树形数据 php递归删除文件
URL标题:http://hbruida.cn/article/hicesh.html