【php】文件系统
一、 了解文件:
a) 我们在Windows当中已知众多种文件类型:png、jpeg、jpg、gif、mp3、mp4、avi、rmvb、txt、doc、exl、ppt、php、exe
b) 无论我们windows当中有多少种文件类型,他们都是用来存储数据的!
c) 在PHP当中使用变量、数组来存储数据,为什么windows系统不使用变量来存储数据?原因:php当中的变量存储的数据生存周期端,而且只能在php脚本当中来执行,因此我们需要使用文件这种介质来永久的保存不同类型的数据!
二、 Windows当中的文件类型:
a) 三个类别:
i. File:文件类型
ii. Dir:目录文件
iii. Unknown:未知类型
三、 文件的相关函数:
a) Filetype():获取文件的具体类型【返回结果为上述的三种类型】
b) Is_file():判断给定的文件名是否是一个文件,是返回true,否则返回false
c) Is_dir():判断给定的文件名是否是一个目录,是返回true,否则返回false
d) Is_readable():判断给定的文件是否可读
e) Is_writable():判断给定的文件是否可写
f) Is_executable():判断给定的文件名是否可执行
g) File_exists():判断给定的文件名是否存在
h) Filesize():取得给定文件名的大小
i) Filectime():获取文件的创建时间
j) Filemtime():获取文件的修改时间
k) Fileatime():获取文件的访问时间
l) Stat():获取文件的大部分属性
四、 目录的相关操作:
a) 我们要查找一个文件或使用一个文件,首先要知道这个文件的存储位置,也就是要知道它的路径!
b) 相对路径:
i. 相对路径的含义,就是相对于当前文件,去寻找另外的一个文件
ii. . :相对于当前文件所在的当前目录
iii. .. :相对于当前文件的上一级目录
c) 绝对路径:
i. $unixPath="/var/www/html/index.php"; 属于Linux或Unix当中的绝对路径格式,从“/”根盘符开始寻找一个文件
ii. $winPath="C:\\Appserv\\www\\index.php"; 属于windows当中的绝对路径格式,从一个根盘符【C盘、E盘、D盘、F盘】开始寻找某一个文件,注意:因为反斜线具有转义的含义,因此,反斜线格式的路径需要使用反斜线再次转移!
iii. $winPath2="C:/Appserv/www/index.php"; 属于windows当中的绝对路径格式,其他同上!
d) 操作路径的相关函数:
i. Basename:可以获取一个路径当中的文件名的部分
ii. Dirname():可以获取一个路径当中的除了文件名部分的路径信息
iii. Pathinfo():可以获取一个路径当中大部分信息的内容(路径信息、文件名、拓展名、没有拓展名的文件名)
五、 遍历目录:
a) 遍历目录,顾名思义,就是将一个服务器当中的指定目录当中的所有文件取出来,并执行一系列的操作!
b) 遍历目录四步骤:
i. 定义目录
ii. 打开目录
iii. 读取目录
iv. 关闭目录
c) 遍历目录四步骤详细内容:
i. 定义目录
1. $path = “目录名”;
ii. 打开目录
1. $resource = Opendir(“目录名”);
2. 注意:打开一个目录,会得到一个资源的信息
iii. 读取目录
1. 注意:读取出的内容第一次是一个点,代表了当前目录;第二次是两个点,代表了上一级目录
iv. 关闭目录
1. Closedir(“打开的资源”);
//遍历目录 //1.定义目录
$path = "./images"; //2.打开目录
$resource = opendir($path); //打开目录成功会获取到资源信息 //3.读取目录
while($file = readdir($resource)){ //过滤特殊目录[注意:一定要过滤.和..这个两个特殊目录!否则后果自负]
if($file=="." || $file==".."){
continue;
} //接下来可以执行响应的其他操作(获取目录文件的详细信息、删除该目录、赋值该目录、统计目录大小)!
var_dump($file);
} //4.关闭目录
closedir($resource); //结果
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '1.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '2.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '3.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '4.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '5.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '6.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '7.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string 'images' (length=6)
d) 操作目录的函数:
i. mkdir(目录名); 创建一个目录
ii. rmdir(目录名); 删除一个目录
iii. unlink(文件名); 删除一个文件
iv. copy(要复制谁,复制到哪[完整路径,包含文件名]);
【php】文件系统的更多相关文章
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...
- Linux学习之探索文件系统
Linux,一起学习进步- ls With it, we can see directory contents and determine a variety of important file ...
- Linux之搭建自己的根文件系统
Hi!大家好,我是CrazyCatJack.又和大家见面了.今天给大家带来的是构建Linux下的根文件系统.希望大家看过之后都能构建出符合自己需求的根文件系统^_^ 1.内容概述 1.构造过程 今天给 ...
- 【架构设计】分布式文件系统 FastDFS的原理和安装使用
本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下: -- mo ...
- .NET Core的文件系统[1]:读取并监控文件的变化
ASP.NET Core 具有很多针对文件读取的应用.比如我们倾向于采用JSON文件来定义配置,所以应用就会涉及针对配置文件读取.如果用户发送一个针对物理文件的HTTP请求,应用会根据指定的路径读取目 ...
- .NET Core的文件系统[2]:FileProvider是个什么东西?
在<读取并监控文件的变化>中,我们通过三个简单的实例演示从编程的角度对文件系统做了初步的体验,接下来我们继续从设计的角度来继续认识它.这个抽象的文件系统以目录的形式来组织文件,我们可以利用 ...
- .NET Core的文件系统[3]:由PhysicalFileProvider构建的物理文件系统
ASP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件.View文件以及网页上的静态文件,物理文件系统的抽象通过PhysicalFileProvider这个FileProvider ...
- .NET Core的文件系统[4]:由EmbeddedFileProvider构建的内嵌(资源)文件系统
一个物理文件可以直接作为资源内嵌到编译生成的程序集中.借助于EmbeddedFileProvider,我们可以统一的编程方式来读取内嵌于某个程序集中的资源文件,不过在这之前我们必须知道如何将一个项目文 ...
- Linux文件系统的实现
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状 ...
- Node.js:fs文件系统模块
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...
随机推荐
- Django的路由系统01-路由分发
1. Including other URLconfs 原urls.py文件,多个app的路由系统写在一起,不方便管理 范例: from django.conf.urls import url fro ...
- Vue2.0 【第二季】第5节 Template制作模板
目录 Vue2.0 [第二季]第5节 Template制作模板 第5节 Template制作模板 一.直接写在选项里的模板 二.写在template标签里的模板 三.写在script标签里的模板 Vu ...
- 从零搭建Spring Cloud Gateway网关(一)
新建Spring Boot项目 怎么新建Spring Boot项目这里不再具体赘述,不会的可以翻看下之前的博客或者直接百度.这里直接贴出对应的pom文件. pom依赖如下: <?xml vers ...
- Webpack中SplitChunksPlugin 配置参数详解
代码分割本身和 webpack 没有什么关系,但是由于使用 webpack 可以非常轻松地实现代码分割,所以提到代码分割首先就会想到使用 webopack 实现. 在 webpack 中是使用 Spl ...
- SpringMVC框架——原理及使用
核心组件 1. DispatcherServlet:前端控制器器,负责调度其他组件的执行,可降低不同组件之间的耦合性,是Spring MVC 的核心模块. 2. Handler:处理器,完成具体的业务 ...
- Java后台面试记录
腾讯一面: 总结:考基础和代码(网址A是不是网址B的子域) + SQL(选出重复邮箱)(以下是没回答上来的) 逻辑回归公式(简历上写了协同过滤) 详见:https://blog.csdn.net/ma ...
- 几十万学费总结出来的Ddos攻击防护经验!
本人从事网络安全行业十余年年.有十年被骗经验.被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等. 言归正传 首先我们 ...
- Linux基本操作 ------ 文件处理命令
显示目录文件 ls //显示当前目录下文件 ls /home //显示home文件夹下文件 ls -a //显示当前目录下所有文件,包括隐藏文件 ls -l //显示当前目录下文件的详细信息 ls - ...
- RNN,GRU,LSTM
2019-08-29 17:17:15 问题描述:比较RNN,GRU,LSTM. 问题求解: 循环神经网络 RNN 传统的RNN是维护了一个隐变量 ht 用来保存序列信息,ht 基于 xt 和 ht- ...
- c++ 的vector sort遇到栈错误
在做pat乙级1082 射击比赛时 遇到了sort 段错误. 题目链接:https://www.patest.cn/contests/pat-b-practise/1082 感觉写的没啥毛病 但就是段 ...