PHP删除目录下所有的文件
时间:2017-07-28
本文章向大家介绍PHP如何删除目录下所有的文件(包括隐藏的文件,例如.htaccess),需要的朋友可以参考一下。
我有一个名为`Temp'的文件夹,我想使用PHP删除此文件夹中的所有文件。我可以这样做吗?
实现方法
方法一:使用unlink
$files = glob('path/to/temp/*'); // get all file names
foreach($files as $file){ // iterate files
if(is_file($file))
unlink($file); // delete file
}
如果你想删除像'.htaccess这样的'隐藏'文件,你必须使用
$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
方法二:
如果你想删除一切从文件夹(包括子文件夹)使用这个组合array_map
,unlink
以及glob
:
array_map('unlink', glob("path/to/temp/*"));
方法三:
unlinkr函数通过确保它不删除脚本本身来递归删除给定路径中的所有文件夹和文件。
function unlinkr($dir, $pattern = "*") {
// find all files and folders matching pattern
$files = glob($dir . "/$pattern");
//interate thorugh the files and folders
foreach($files as $file){
//if it is a directory then re-call unlinkr function to delete files inside this directory
if (is_dir($file) and !in_array($file, array('..', '.'))) {
echo "<p>opening directory $file </p>";
unlinkr($file, $pattern);
//remove the directory itself
echo "<p> deleting directory $file </p>";
rmdir($file);
} else if(is_file($file) and ($file != __FILE__)) {
// make sure you don't delete the current script
echo "<p>deleting file $file </p>";
unlink($file);
}
}
}
如果要删除放置此脚本的所有文件和文件夹,请按以下方式调用它
//get current working directory
$dir = getcwd();
unlinkr($dir);
如果你只想删除只是php文件,然后将其称为如下
unlinkr($dir, "*.php");
您也可以使用任何其他路径删除文件
unlinkr("/home/user/temp");
这将删除home / user / temp目录中的所有文件。
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- ArrayList源码分析(基于jdk1.8)(三):Arrays.asList方法带来的问题
- 对基本类型包装类常量池的补充
- 与IntegerCache有关的一个比较坑的面试题
- C# Foreach循环本质与枚举器
- Java中的时间和日期(一):有关java时间的哪些坑
- Java中的时间和日期(二):java时间存储的基本原理
- 常用SQL语句
- Java中的时间和日期(三):java8中新的时间API介绍
- Java中的时间和日期(四):与java8时间API有关的一些总结和补充
- Head First设计模式——策略模式
- 可重用性的6个级别
- 您可能不需要使用Vue 3的Vuex
- 谈一谈若干的K-V NoSQL应用:LevelDB、Redis、Tair、RockesDB
- 高通量数据中批次效应的鉴定和处理(六)- 直接校正表达矩阵
- Go viper 配置文件读取工具