检测

  • 检查文件或目录是否存在

       file_exists ()
    
  • 检查给定文件名是否为一个存在的文件(存在、文件)

       is_file ( string $filename )
  • 检查给定目录名是否为一个存在的目录(存在、目录)

       is_dir ( string $filename )
  • 判断给定的文件名或目录名是否存在且可读(存在、文件或目录、可读)

       is_readable ( string $filename )
  • 判断给定的文件名或目录名是否存在且可写(存在、文件或目录、可写)

       is_writable ( string $filename )
    

路径解析

  • 解析文件名

    basename ( string $path [, string $suffix ] ) //包含有指向一个文件的全路径的字符串

  • 解析目录名

    dirname ( string $path ) //包含有指向一个文件的全路径的字符串

  • 解析全路径

    pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

目录操作

  • 新建目录

    mkdir (); //创建目录,第三个参数表示是否递归创建
    
  • 删除目录

    rmdir (); //只能删除空目录,非空目录必须使用递归删除function removeDirOrFile($path){if(is_file($path)){return unlink($path);}if(is_dir($path)){$dir_handle = opendir($path);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;$subPath = $path.DIRECTORY_SEPARATOR.$file;$fnname = __FUNCTION__;$fnname($subPath);}closedir($dir_handle);return rmdir($path);}return FALSE;
    }
    
  • 移动/重命名目录

    rename ( string $oldname , string $newname [, resource $context ] );

  • 获取目录内容

    opendir();
    readdir();
    closedir();
    rewind();function readDirsTree($path,$deep=0){if(is_file($path)){exit(basename($path));}if(is_dir($path)){$dir_handle = opendir($path);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;echo str_repeat('&nbsp;',$deep*2).iconv('GB2312','UTF-8',$file).'<br/>';if(is_dir($path.DIRECTORY_SEPARATOR.$file)){$fnname = __FUNCTION__;$fnname($path.DIRECTORY_SEPARATOR.$file, $deep+1);}}closedir($dir_handle);}}
    
  • 复制目录

    function copyDir($dirFrom, $dirTo){if(is_dir($dirFrom)){if(!file_exists($dirTo)){mkdir($dirTo,0777,TRUE);}$dir_handle = opendir($dirFrom);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;$fromPath = $dirFrom.DIRECTORY_SEPARATOR.$file;$toPath = $dirTo.DIRECTORY_SEPARATOR.$file;if(is_file($fromPath)){copy($fromPath, $toPath);}if(is_dir($fromPath)){$fnname = __FUNCTION__;$fnname($fromPath, $toPath);}}closedir($dir_handle);return TRUE;}else{return FALSE;}
    }
    

文件操作

  • 获取文件大小

    filesize ( string $filename );

  • 删除文件

    unlink ( string $filename);

  • 剪切/重命名文件

    rename ( string $oldname , string $newname );

  • 拷贝文件

    copy ( string $source , string $dest );

  • 写文件

    file_put_contents ( string $filename , mixed $data [, int $flags = 0 ] );
    一般写文件就直接使用这个函数,里面其实也是依次调用fopen(),fwrite()以及 fclose() 功能。

  • 读文件
    file_get_contents ( string $filename );
    此函数只适合读一些小文件(文件大小很小的),如果读大文件,必须使用下面方法,否则内存很容易溢出

    fopen ( string $filename , string $mode );
    fread ( resource $handle , int $length ); //按字节数读取
    fgets ( resource $handle [, int $length ] ); //默认长度为1kb,按行读取
    fgetc ( resource $handle ); //按1个字节1个字节读取
    fclose ( resource $handle );

  • 获取文件修改时间
    filemtime ( string $filename ); //返回时间戳

编码问题

  • 在windows下,获取含有中文的目录名或文件名时,由于中文是GBK编码,而项目是utf-8编码,所以必须转码iconv('GBK','utf-8',$filename);

  • 当输入的路径含有中文,由于项目是utf-8,而系统文件名或目录名都是GBK编码,所以必须转为iconv('utf-8','GBK',$path);

PHP常用函数之文件系统处理相关推荐

  1. Fatfs文件系统常用函数

    Fatfs文件系统常用函数 本文将介绍Fatfs文件系统的常用函数,学过C语言文件函数的小伙伴们就可以跳过了,因为两者之间基本没有什么区别: 返回值枚举: 下文提到的大多数函数都会返回FRESULT枚 ...

  2. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

  3. 【推荐】有趣儿的PHP文件操作常用函数总结

    有趣儿的PHP文件操作常用函数总结 以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文 ...

  4. 最新php常用函数200个,180多个PHP常用函数总结

    我们知道任何有效的 php 代码都有可能出现在函数内部,甚至包括其它函数和类定义.本文我们主要和大家分享180多个PHP常用函数总结,希望能帮助大家更高效的学习PHP. 数学函数 1.abs(): 求 ...

  5. Oracle 常用函数大全

    Oracle 11g 常用函数(Functions)详解 目录 ABS. 3 ACOS. 3 ADD_MONTHS. 4 ASCII 4 ASCIISTR. 5 ASIN.. 5 ATAN.. 5 A ...

  6. oracle11g 常用函数(Functions)详解

    Oracle11g常用函数(Functions)详解 目录 ABS. 3 ACOS. 3 ADD_MONTHS. 4 ASCII 4 ASCIISTR. 5 ASIN.. 5 ATAN.. 5 ATA ...

  7. PHP常用函数总结(180多个)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4 ...

  8. php内置常用函数是哪些,PHP常用函数有哪些

    PHP常用函数有哪些 导语:PHP主要通过函数实现一些功能,那PHP常用函数有哪些呢?下面就由小编为大家介绍一下,欢迎大家阅读! 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2) ...

  9. Lua基本语法-书写规范以及自带常用函数

    Lua基本语法-书写规范和常用函数 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 String O ...

最新文章

  1. 业余时间用哪里,哪里就有发展的可能
  2. HDU3949 XOR (线性基、查找第k小值)
  3. 下巴长痘痘是什么原因?要怎么解决?(实用教程)
  4. 1067: 有问题的里程表
  5. WIKIOI 1519 过路费
  6. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222H】Fight Against Monsters(贪心排序)
  7. java实现报表_修改带 JAVA 自定义类的报表还要重启应用,咋解决?
  8. 行为模式之备忘录模式
  9. 深度学习——简化的神经网络模型和概念补充
  10. char强制类型转换为int_为强制类型转换正名
  11. 从git仓库获取源码_微软开源Scalar,提升操作巨型Git仓库的速度
  12. y的花式写法_26字母的花式写法可复制 也叫圆体字写法如下一基本规则
  13. SYSAUX表空间占用过大情况下的处理(AWR信息过多)
  14. 苹果手机屏幕尺寸大全
  15. 2019 年第 33 周 DApp 影响力排行榜 | TokenInsight
  16. 人工智能各学派简介:符号主义,连接主义,行为主义
  17. 05-SA8155 QNX通过QUB配置GPIO/INT/SPI/I2C/SPI等
  18. 【操作系统】文件管理(三)—— 文件的目录结构
  19. (2021年)IT技术分享社区个人文章汇总(编程技术篇)
  20. 实体服务器搭建vps系统,vps系统和云服务器搭建

热门文章

  1. RBPsuite RNA-蛋白质结合位点预测工具使用指南
  2. MyEclipse 10(汉化版)安装教程
  3. Ubuntu 18.0安装教程
  4. Matlab | 数字信号处理:卷积
  5. HTML+CSS+JavaScript复习笔记持更(一)——标签篇
  6. 网络游戏中用到哪些计算机技术,美术设计中计算机技术的应用论文
  7. android 测试网,Android Monkey测试
  8. html dom节点源码,JavaScript操作HTML DOM节点的基础教程
  9. Win32 串口编程(一)
  10. 认识 UART 接口