• 目录操作


    目录操作

     

    1、创建目录

      Mkdir(目录地址,权限,是否递归创建=false);

         

    2、删除目录

    Rmdir(目录地址)

       

    仅仅可以删除空目录。(不支持递归删除)

    3、移动改名)

      Rename(旧地址,新地址)

         

      该函数也支持操作文件。

    4、获取目录内容(文件)

    (1)打开目录 目录句柄 = opendir(目录地址)

      目录句柄:php程序与目录间的一个联系。

         

    (2)依次读取目录内文件 文件名 = readdir(目录句柄);

    依次读取一个文件(子目录),同时向下移动句柄指针。如果读取不到返回false!

    目录内存在两个逻辑子目录 ., .. 分别表示当前目录和上级目录!

         

    (3)通过配合 循环结构 完成目录内所有文件的读取:

         

    (4)处理 0 文件名:

         

    (5)关闭目录 closedir()

         

    5、递归获取目录内容

    打开某个目录

      依次读取目录内文件

      如果某个文件为目录

        递归对该目录采用打开,读取,判断这个递归草

     

    递归点: 如果子文件为目录,则递归

    出口: 如果目录中不存在子目录,则不需要继续递归!

       

     

    树状展示

    (1)使用特定数量的缩进达到树状目的!

    (2)核心问题,计算需要缩进的数量!

    (3)缩进级别,与递归调用深度保持一致。每当执行一级递归操作,所找到的文件的缩进级别+1;

    (4)语法实现:

      增加一个参数,表示当前函数调用的深度级别,每当递归+1;

         

    嵌套

     

    使用多维数组的嵌套,表示层级关系!

    例如:

       

    6、递归删除

      Unlink(文件地址)删除文件。

         

     

    目录文件名编码问题:

      展示时,将操作系统编码转换为响应数据编码。

      Windows gbk,项目utf-8

           

      代码的地址中存在中文:需要转换为系统编码,才能被文件系统识别:

           

    由于php基于Linux系统,所以php的文件操作包括文件目录以及文件两部分的操作,只能操作服务器的文件

  • 相关阅读:
    [学习笔记] 网络最大流的HLPP算法
    [学习笔记] LCT 初步
    js中函数的原型及继承
    关于js中函数的一点总结
    关于css实现水平及垂直居中的方法记录
    js基础总结03 --操作数组
    近期学习es6后对变量提升及let和const的一点思考
    用css和js实现侧边菜单栏点击和鼠标滑动特效
    用css或js实现文本输入框的特效
    Jmeter怎样打印日志
  • 原文地址:https://www.cnblogs.com/wjglm/p/9811556.html
Copyright © 2020-2023  润新知