PHP删除文件夹三法
FROM: www.php100.com
1、递归法
deleteDir($dir)
{
if (rmdir($dir)==false && is_dir($dir)) {
if ($dp = opendir($dir)) {
while (($file=readdir($dp)) != false) {
if (is_dir($file) && $file!='.' && $file!='..') {
deleteDir($file);
} else {
unlink($file);
}
}
closedir($dp);
} else {
exit('Not permission');
}
}
}
2、系统调用法
function del_dir($dir)
{
if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
$str = "rmdir /s/q " . $dir;
} else {
$str = "rm -Rf " . $dir;
}
}
3、循环法
function deltree($pathdir)
{
echo $pathdir;//我调试时用的
if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接删除
}
else
{//否则读这个目录,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接删除
if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
{//如果是目录
if(!is_empty_dir($pathdir.'/'.$a))//是否为空
{//如果不是,调用自身,不过是原来的路径+他下级的目录名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接删除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();
echo "必须先删除目录下的所有文件";//我调试时用的
}
}
function is_empty_dir($pathdir)
{
//判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return false;}
else return true;
}
分享到:
相关推荐
本文将详细介绍三种不同的方法来实现PHP删除文件夹的功能。 1. **递归法**: 递归法是通过遍历文件夹中的所有文件和子文件夹,逐个删除它们,最后删除空文件夹。这种方法通常是最通用的,因为可以处理任何层次结构...
FSO 提供了多种方法和属性来处理文件和目录,如创建、删除、复制文件和文件夹等。 #### 关键方法与属性: - **GetFolder(path)**:返回指定路径的文件夹对象。 - **files**:文件夹对象的一个属性,返回该文件夹下...
- 删除文件系统中的文件夹和文件,可以使用`unlink`删除文件,`rmdir`删除空目录,配合递归删除整个目录树。 以上这些方法各有优劣,选择哪种取决于具体场景和性能需求。对于简单的一维数组操作,`array_diff`与`...
5. 安装完成后,删除或重命名安装文件夹,确保系统的安全性。 在使用过程中,开发者可以根据需求对源代码进行二次开发,添加新的功能或优化现有功能。由于BlaB! Lite是开源的,因此开发者社区会不断提供新的插件和...
KMSUITE:核心模块,其中包含可选的域跟踪和分类法跟踪。 域跟踪选项需要一个域跟踪密钥(在ECN中的组级别找到)。 分类跟踪将利用带有可选前缀,大小写转换和术语排除的Drupal中的词汇表。 更新:删除了用于加载...
- **权限问题**:如上所述,将权限设为777可能会导致安全风险,因为这意味着任何用户都可以修改或删除文件。因此,在实际部署时应根据实际需求适当调整权限设置。 - **敏感信息保护**:对于包含敏感信息的文件(如`...
- 创建或删除目录内的文件夹或文件(mkdir/touch)需要写入权限(w)。目录的写入权限仅限于该目录一级的文件操作,不包括其子目录。 2. 文件: - 打开文件(cat/vim)需要读取权限(r)。 - 修改文件内容(cat/...
- 后期管理不便,如果需要恢复为英文版,需要手动删除相关文件。 - 容易忘记哪些文件是汉化包的一部分,导致误删或遗漏。 ##### 方法二:Links安装法 **步骤说明:** 1. **创建links目录**:在Eclipse的安装目录...
安装完后请把install文件夹删除。 特别注意: 安装完后,登入后台(后台目录为:http://你的域名/admin),点击导航设置,将每个链接的"http://localhost/phpscuputf"替换成"http://你的域名"即可打开网站的页面。 ...
3. 数据库管理:包括创建、修改、删除数据库和表,以及导入、导出数据。用户可以执行SQL查询,进行数据筛选、排序和分组,以及进行复杂的数据库设计和优化。 4. 权限控制:phpMyAdmin允许管理员设置用户权限,以...
- **注意事项**:确保解压后的文件夹名称与项目名称一致,避免使用中文或其他特殊字符。 **1.3 打开application/bootstrap.php,做下面修改** - **修改内容**: - 设置时区:例如,`date_default_timezone_set('...
**MEStore:构建快速部署的WEB程序** MEStore是一款基于PHP和MySQL的Web应用程序,它以其简洁的...对于熟悉PHP和MySQL的开发者来说,MEStore的源代码(如MEStore-master文件夹内的内容)也是一个学习和定制的好资源。
管理员可以通过后台轻松添加、编辑和删除文章、案例、律师信息等,无需深入编程知识。系统内置了SEO优化工具,如自定义元标签,有利于提高搜索引擎排名,增加网站曝光度。 核心组件包括: 1. **index.php** - 网站...
3. 文件和文件夹删除:在Windows操作系统中,硬盘上的文件或文件夹删除后默认会放入回收站,但可以通过设置或某些操作(如Shift+Delete)直接永久删除。 4. 计算机硬件组件:执行算术与逻辑运算的部件是CPU(中央...
1. **压缩BIOS处理**:某些Phoenix BIOS可能存在压缩情况,普通WinHEX替换法可能无效。 2. **Marker保护机制**:ROM中的Marker部分通常受到保护,升级BIOS时不会刷新这部分。 3. **Marker与SLIC对应性**:注入Marker...
实例5:多系统安装又一法 实例6:从安装光盘中恢复安装IE 6.0 实例7:Windows补丁下载、批量安装、局域网分发一条龙 实例8:不用软件把Windows 2000彻底搬家到新分区 实例9:微软的软件安装也这么难 实例10:...