PHP删除文件夹三法
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');
- }
- }
- }
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;
- }
- }
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`与`...
- **颜色表示法**:可通过英语单词(如red)、十六进制数字(如`#FF0000`)或RGB值(如`rgb(255, 0, 0)`)来设置颜色。 以上内容为PHP入门基础教学视频的关键知识点概述,涵盖了从Windows命令到HTML基础知识的重要...
5. 安装完成后,删除或重命名安装文件夹,确保系统的安全性。 在使用过程中,开发者可以根据需求对源代码进行二次开发,添加新的功能或优化现有功能。由于BlaB! Lite是开源的,因此开发者社区会不断提供新的插件和...
KMSUITE:核心模块,其中包含可选的域跟踪和分类法跟踪。 域跟踪选项需要一个域跟踪密钥(在ECN中的组级别找到)。 分类跟踪将利用带有可选前缀,大小写转换和术语排除的Drupal中的词汇表。 更新:删除了用于加载...
- **权限问题**:如上所述,将权限设为777可能会导致安全风险,因为这意味着任何用户都可以修改或删除文件。因此,在实际部署时应根据实际需求适当调整权限设置。 - **敏感信息保护**:对于包含敏感信息的文件(如`...
- 在安装过程中,如果遇到问题,可以尝试删除MyEclipse的“configuration”文件夹下的“org.eclipse.update”文件夹,以清除可能存在的更新缓存。 - 在线安装时,务必注意不要添加错误的插件,以避免冲突或功能不全...
- 创建或删除目录内的文件夹或文件(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:...