目录操作

创建目录

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

Rmdir(目录地址)

删除目录

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

移动改名)

Rename(旧地址,新地址)

该函数也支持操作文件。

获取目录内容(文件)

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

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

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

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

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

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

处理 0 文件名:

关闭目录 closedir()

递归获取目录内容

打开某个目录

依次读取目录内文件

如果某个文件为目录

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

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

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

树状展示

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

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

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

语法实现:

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

嵌套

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

例如:

实现:

递归删除

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

目录文件名编码问题:

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

Windows gbk,项目utf-8

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

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

php面向对象(目录操作)的更多相关文章

  1. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  2. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  3. Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  4. 学习PHP中的目录操作

    对于编程语言来说,文件和目录的操作是其最最基础的功能.就像我们日常中最常见的图片上传.文件上传之类的功能,都需要文件和目录操作的支持.今天我们先来简单地学习一下 PHP 中关于目录操作的一些类和函数. ...

  5. 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作

    关于本文档的说明 本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行 欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利. 本人自从几年前走上编程之路,一直致力于收集 ...

  6. liunx学习(一):linux下目录操作大全

    Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...

  7. Java基础知识系列——目录操作

    Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...

  8. Python目录操作

    Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...

  9. PHP 文件与目录操作函数总结

    >>>文件操作 打开 fopen();    打开文件 读取内容 fread();    从文件指针 handle 读取最多 length 个字节 readfile();    读入 ...

随机推荐

  1. 自主设计BootLoader框架笔记一栏

  2. 39、Parquet数据源之自动分区推断&合并元数据

    一.自动分区推断 1.概述 表分区是一种常见的优化方式,比如Hive中就提供了表分区的特性.在一个分区表中,不同分区的数据通常存储在不同的目录中, 分区列的值通常就包含在了分区目录的目录名中.Spar ...

  3. 浅谈python闭包及装饰器

    1. 什么是闭包: 闭包 是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变 ...

  4. 搭建K8S集群

    一.前言 我们将现有的虚拟机称之为Node1,用作主节点.为了减少工作量,在Node1安装Kubernetes后,我们利用VirtualBox的虚拟机复制功能,复制出两个完全一样的虚拟机作为工作节点. ...

  5. 反手来个K8S入门到跑路

    layout: post title: 反手来个K8S入门到跑路 category: linux date: 2019-06-09 tags: linux k8s 反手来个K8S入门到跑路 前言 放假 ...

  6. Web Worker 使用教程【转】

    原文:http://www.ruanyifeng.com/blog/2018/07/web-worker.html 一.概述 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个 ...

  7. Unity3D 2D模拟经营游戏 洗车沙龙 完整源码

    Car Wash Salon Game 描述洗车模板与几个迷你游戏相关的汽车清洁,洗涤和装饰. 简单但有趣的游戏和伟大的视觉效果. 此模板不包含在应用中! 自定义应用程序的示例,有些功能在本项目中不受 ...

  8. Navicat Premium连接MySQL 1251错误

    Navicat Premium连接MySQL 1251错误 MySQL Installer 8.0.17 ​ 出现上述错误的原因是版本MySQL 8.0.17即8.0开始的MySQL版本,因为采用新的 ...

  9. CentOS 7.2 基于Docker实现MySQL主从架构

    原文地址:https://blog.csdn.net/sunnyfg/article/details/80655823 1.安装Docker(略) Centos7下安装Docker : https:/ ...

  10. 五、postman-sandbox

    一.在postman中运行一些JavaScript代码的地方 公共库(javascript) 环境变量与全局变量 动态变量 操作cookie 获取和查看请求及响应 读取数据文件 二.api文档 htt ...