首页 > 教程
php常用文件操作函数方法
- 2024-02-26
- 1181 ℃
1、使用递归删除目录及目录下所有文件的方法。
function delDir($dir){
@$dh=opendir($dir); //打开目录流
while(!!$file=@readdir($dh)){
if($file!='.' && $file!='..'){
$fullpath=$dir.'/'.$file;
if(!is_dir($fullpath)){ //如果是文件直接删除
unlink($fullpath);
}else{ //如果是目录 递归调用本身
delDir($fullpath);
}
}
}
@closedir($dh); //关闭目录流
if(@rmdir($dir)){ //删除目录本身
return true;
}else{
return false;
}
}
2、能创建多级目录的PHP函数
function createdirlist($path,$mode){
if (is_dir($path)){
//判断目录存在否,存在不创建
echo "目录'" . $path . "'已经存在";
//已经存在则输入路径
}else{ //不存在则创建目录
$re=mkdir($path,$mode,true);
//第三个参数为true即可以创建多极目录
if ($re){
echo "目录创建成功";//目录创建成功
}else{
echo "目录创建失败";
}
}
}
$path="../a/x/cc/cd"; //要创建的目录
$mode=0755; //创建目录的模式,即权限.
createdirlist($path,$mode);//测试3、php函数统计某个目录下所有文件大小
function getDirSize($dirname){
$dirsize = 0;//初始化一个大小为0
$handle = opendir($dirname);//打开这个目录
//从目录句柄中循环读取条目,并按照系统中的顺序返回目录中下一个文件的文件名
while($fliename = readdir($handle)){//readdir函数用于从目录中读取条目
if($fliename != "." && $fliename != ".."){
$file = $dirname.'/'.$fliename;
//判断给定文件名是否是一个目录
if(is_dir($file)){
//如果是一个目录,则调用函数getDirSize()
$dirsize+=getDirSize($file);
}else{
//如果不是目录是一个文件,则取得其大小并且累加到变量$diesize
$dirsize+=filesize($file);//filesize获取文件大小
}
}
}
closedir($handle);//关闭目录句柄
return $dirsize;//返回累加的大小
}
$dirname = "E:/www";//指定要遍历的目录
echo $dirname."目录中文件的总大小为:".getDirSize($dirname)."B";4、遍历一个文件夹下的所有文件和子文件夹
//方法一:
function dir_recurse($dir) {
$i = 1;
if($handle = opendir($dir)) {//打开这个目录
while(false !== ($file = readdir($handle))) {//readdir函数用于从目录中读取条目
if($file != "." && $file != ".." ) {
if(is_dir($dir."/".$file) == true) {//判断是否是一个目录
$fullpath = $dir."/".$file;
dir_recurse($fullpath);
echo "$fullpath\n"."<br>";
$i++;
}else {
$fullpath = $dir."/".$file;
echo "$fullpath\n"."<br>";
$i++;
}
}
}
closedir($handle);
}
}
$dir = "E:/KuGou";
dir_recurse($dir);
//方法二:
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))//判断是否是目录
{
if($handle=opendir($dir))//打开目录句柄
{
while(($file=readdir($handle))!==false)//从目录句柄中读取条目
{
if($file!= "." && $file!="..")
{
if(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
else
{
$files[]=$dir."/".$file;
}
}
}
closedir($handle);
return $files;
}
}
}
$dir = "E:/KuGou";
echo "<pre>";
print_r(my_scandir($dir));5、获取一个文件的扩展名
//第一种:
function get_ext1($file_name){
return strrchr($file_name, '.');
}
//第二种:
function get_ext2($file_name){
return substr($file_name, strrpos($file_name, '.'));
}
//第三种:
function get_ext3($file_name){
$p=explode('.', $file_name);
return array_pop($p);
}
//第四种:
function get_ext4($file_name){
$p = pathinfo($file_name);
return $p['extension'];
}
//第五种:
function get_ext5($file_name){
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}
//第六种:
function get_text6($file_name){
return end(explode('.',$file_name));
}下一篇:mysql数据库优化
相关内容
微信消费者保护安全锁,...
微信深度清理,一次清理...
最全ComfyUI资源整合:教...
C 盘最恶心的四大害虫,...
浏览器有什么好用的插件...
Vue3 + Vite + Vue ...
php经典趣味算法
数据缓存Memcached与Redi...
-
【Galgame】什么?你还不知道什么是galgame!全网最详细的galgame一件套简评
2024-12-11 4547
-
网页上传图片需要旋转的问题
2024-04-23 839
-
微信好友描述功能比备注好用多了
2025-06-22 1428
-
最全ComfyUI资源整合:教程、插件、工作流(可免费体验)
2025-03-04 1569
-
固态硬盘必做的SSD优化,大幅提升读取速度
2025-06-25 1092
-
很上档次别具一格的代码注释方式
2025-04-07 1214
-
拒绝软件捆绑,这些电脑软件下载网站你知道吗
2025-03-10 1689
-
Vue3 + Vite + Vue Router 4后端返回路由配置动态路由权限管理
2025-04-07 1099
-
微信红包改变支付格局的始末
2024-05-29 1546
-
电脑必装软件有哪些?请一定别错过这五款
2025-04-26 991
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


进入有缘空间
点击分享文章