【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[, ...
随机推荐
- celery订单定时回滚
目录 订单回滚 控制执行(多少时间后执行) celery异步定时任务 订单回滚 用celery异步,定时任务.可以设置:如果下单15分钟后没有支付,则取消订单.做反向操作 控制执行(多少时间后执行) ...
- 037.集群网络-Docker网络实现
一 Docker网络 1.1 Docker网络类型 标准的Docker支持以下4类网络模式: host模式:使用--net=host指定. container模式:使用--net=container: ...
- 基于Jquery WeUI的微信开发H5页面控件的经验总结(1)
在微信开发H5页面的时候,往往借助于WeUI或者Jquery WeUI等基础上进行界面效果的开发,由于本人喜欢在Asp.net的Web界面上使用JQuery,因此比较倾向于使用 jQuery WeUI ...
- WSGI标准、MVC和MTC框架
WSGI服务: wsgiref模块其实就是将整个请求信息给封装了起来,就不需要你自己处理了,假如它将所有请求信息封装成了一个叫做request的对象,那么你直接request.path就能获取到用户这 ...
- SpringMVC框架——文件的上传与下载
使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...
- python爬取某站新闻,并分析最近新闻关键词
在爬取某站时并做简单分析时,遇到如下问题和大家分享,避免犯错: 一丶网站的path为 /info/1013/13930.htm ,其中13930为不同新闻的 ID 值,但是这个数虽然为升序,但是没有任 ...
- webpack打包es6代码
1.简单描述一下es6的模块导入和导出的语法: //导出:export var aa = 10;export function demo(){} //不能写成:var aa = 10;export a ...
- EFCore DbContext 报SqlException: Incorrect syntax near 'OFFSET'.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSq ...
- 滑动窗口-Moving Stones Until Consecutive II
2020-02-20 16:34:16 问题描述: 问题求解: public int[] numMovesStonesII(int[] stones) { int n = stones.length; ...
- [BFS,大水题] Codeforces 198B Jumping on Walls
题目:http://codeforces.com/problemset/problem/198/B Jumping on Walls time limit per test 2 seconds mem ...