首页 > 教程
php常用文件操作函数方法
- 2024-02-26
- 1124 ℃
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数据库优化
相关内容
如何给你的产品做减法
为什么没有空间大,不限...
微信最致命的查岗功能,...
Deepseek 高效使用指南...
php 微信公众号接入支付宝支付
终于有一款插件来处理B站...
数据缓存Memcached与Redi...
快速申请微软 ChatGPT ...
-
为什么我国没有ChatGPT那样强大的AI智能系统
2024-03-16 1349
-
DeepSeek最强使用攻略,放弃复杂提示词,直接提问效果反而更好?
2025-04-30 1244
-
微信语音撤回不留痕迹
2021-08-07 1108
-
免费下载PPT模板的网站来了
2025-03-10 1369
-
Android Studio打包APK文件详细步骤
2024-05-13 1776
-
微信小程序原生wx.request简单封装
2025-04-07 1034
-
jQuery点击生成二维码QRCode复制链接保存到本地
2024-03-06 1013
-
怎么复制网站(禁止鼠标右键复制)内容
2024-02-06 956
-
云服务器如何快速查找、筛选疑似挂马、后门文件
2025-11-21 846
-
图小小 – 开源、批量,图片压缩工具,支持 JPEG、PNG、WEBP、AVIF、SVG 和 GIF 图像
2024-07-03 1621
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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