也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理 *** 作。
用到的函数:
scandir($path)
遍历一个文件夹所有文件并返回数组。
unlink($filename)
删除文件。
rmdir($path)
只删除空文件夹
<?php
//设置需要删除的文件夹
$path
=
"./Application/Runtime/"
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function
deldir($path){
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p
=
scandir($path)
foreach($p
as
$val){
//排除目录中的.和..
if($val
!="."
&&
$val
!=".."){
//如果是目录则递归子目录,继续 *** 作
if(is_dir($path.$val)){
//子目录中 *** 作删除文件夹和文件
deldir($path.$val.'/')
//目录清空后删除空文件夹
@rmdir($path.$val.'/')
}else{
//如果是文件直接删除
unlink($path.$val)
}
}
}
}
}
//调用函数,传入路径
deldir($path)
总结
以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)php获取文件夹路径内的图片以及分页显示示例PHP获取文件相对路径的方法查找php配置文件php.ini所在路径的二种方法
/*++
函数名:removeDir()
++
功
能:删除目录和其下所有自目录和文件
++
使
用:removeDir($dirName)
++
参
数:$dirName
要删除的目录名
++
lmhllr
2006-04-25
lmhllr#163.com
*/
function
removeDir(
$dirName
)
{
if
(
$handle
=
opendir(
"$dirName"
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
"."
&&
$item
!=
".."
)
{
if
(
is_dir(
"$dirName/$item"
)
)
{
removeDir(
"$dirName/$item"
)
}
else
{
if(
unlink(
"$dirName/$item"
)
)echo
"成功删除文件:
$dirName/$item<br
/>\n"
}
}
}
closedir(
$handle
)
if(
rmdir(
$dirName
)
)echo
"成功删除目录:
$dirName<br
/>\n"
}
}
1.前台<!DOCTYPE html>
<html>
<head>
<title>批量删除</title>
</head>
<body>
<scripttype="text/javascript">
//复选框
function checkall(all)
{
var ck = document.getElementsByClassName("ck")
if(all.checked)
{
for(var i=0i<ck.lengthi++)
{
ck[i].setAttribute("checked","checked")
}
}
else
{
for(vari=0i<ck.lengthi++)
{
ck[i].removeAttribute("checked")
}
}
}
</script>
<formaction="test.php"method="post">
<tableborder="1">
<tr><th><inputtype="checkbox"name="all"onclick="checkall(this)"/>id</th><th>名字</th></tr>
<!-- 此处调用显示列表函数 -->
<?phpshow() ?>
<tr><tdcolspan="3"><inputtype="submit"value="批量删除"></td></tr>
</table>
</form>
</body>
<?php
//显示列表
function show()
{
//连接数据库
@mysql_connect('localhost','root','')
mysql_select_db('test')
mysql_query('set names utf8')
$sql="select id,name from test"
$res=mysql_query($sql)
//循环取出数据
while($row=mysql_fetch_row($res))
{
echo "<tr>
<td>
<inputtype='checkbox'value='{$row[0]}'name='item[]'class='ck'/>
{$row[0]}
</td>
<td>{$row[1]}</td>
</tr>"
}
}
?>
</html>
2.后台
<?php
//接收post传来的数组
$arr=$_POST["item"]
/**
* 批量删除
* 思路:把前台批量选择的数据放在数组里,删除该数组即可
* @param $arr
* @return $res 成功or失败
*/
functionbatch_del($arr)
{
@mysql_connect('localhost','root','')
mysql_select_db('test')
mysql_query('set names utf8')
//把数组元素组合为字符串:
$str= implode("','",$arr)
//in 表示多个
$sql="delete from test where id in('{$str}')"
$res= mysql_query($sql)
if(!$res){
echo"删除失败"
}else{
if(mysql_affected_rows()>0){
echo"删除成功"
}else{
echo"没有行受到影响"
}
}
}
//调用批量删除函数
batch_del($arr)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)