今日学习目标:
学习PHP文件与目录操作
✅创作者:贤鱼
⏰预计时间:25分钟
个人主页:贤鱼的个人主页
专栏系列:网络安全
贤鱼的个人社区,欢迎你的加入 贤鱼摆烂团

PHP文件与目录操作

  • 路径与磁盘操作
    • 相对路径和绝对路径
    • 文件路径信息获取
      • 文件名快速获取
      • 路径中目录部分快速获取
    • 目录操作
      • 打开和关闭目录
      • 创建目录
      • 删除目录
      • 获取当前工作目录
      • 改变当前工作目录
      • 获取目录句柄条目
    • 读取目录条目
  • 文件操作
    • 一般操作
      • 判断文件是否存在
      • 创建,打开,关闭文件
      • 读取文件
      • 写入文件
    • 文件和目录基本操作
      • 删除文件
      • 复制文件
      • 移动,重命名文件或目录
  • 结束语

路径与磁盘操作

相对路径和绝对路径

绝对路径

以当前文件所在盘符为起点的路径

举个例子:
例如图片1.png

这个图片的绝对路径就是

D:\谷歌\123\1.png

我们来分开讲解一下这一串路径代表的内容

  • D:(指的是盘符
  • \ (带表的是目录分隔符
  • 提示:(windows操作系统支持正斜线和反斜线,其它系统支持正斜线/,所以正斜线可以减少兼容性问题)

    相对路径

    以操作的文件所在的目录为起点的路径

    这是一个相对的概念,不同的参照物写的所对应的路径也不相同

    为什么这么说的
    举个例子吧:
    假设我们以 1.png作为参照物

  • 1.txt
  • ./1.txt(1前面有个 点.)

  • 2.txt
  • ../2.txt(2前面两个点)

    解释一下吧

  • 1.txt作为同级目录下的文件,所以前面只需要1个点,这一个点就代表当前目录
  • 2.txt作为下层目录,1.png就是2.txt的上层目录,这里两个点就代表上层目录
  • 相信大家已经了解了相对路径和绝对路径

    文件路径信息获取

    在这之前我们需要先理解一些概念

    路径:
    /love/xianyu.txt

  • 目录名(dirname)为/love
  • 带有文件拓展名(basename)为 xianyu.txt
  • 拓展名(extension)为.txt
  • 文件名(filename)为 xianyu
  • 下面进入正文

    • pathinfo()

    为了获取指定的路径和文件名,可以使用pathinfo()函数,这个函数会·返回一个关联数组


    • 释放句柄

    为什么要释放句柄呢,如果不释放句柄就好比你和一堆人用一个笔记本写字,你拿走了不放回去别人就无法写字 所以释放句柄可以节省服务器资源

    创建目录

    读取目录条目

    • scandir()

    直接返回指定目录下文件和子目录,并且按照要求排序(默认字母升序)

    <?php$dir1 = scandir("D:\新建文件夹 (2)");$dir2 = scandir("D:\新建文件夹 (2)",1);//降序排列print_r($dir1);print_r($dir2)?>

    文件操作

    操作文件的一般步骤即:打开,读取或写入,关闭

    由于目录和文件本质上都属于文件,除了使用函数不同,很多操作都是相通的

    一般操作

    判断文件是否存在