【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[, ...
随机推荐
- opencv python版 在图片上画矩形
import cv2 import matplotlib.pyplot as plt import numpy im = cv2.imread('image_2.jpg') square = nump ...
- Vue2.0 【第一季】第5节 v-on:绑定事件监听器
目录 Vue2.0 [第一季] 第5节 v-on:绑定事件监听器 第五节 v-on:绑定事件监听器 一.使用绑定事件监听器,编写一个加分减分的程序. Vue2.0 [第一季] 第5节 v-on:绑定事 ...
- 基于 HTML5 WebGL 的发动机 3D 可视化系统
前言 工业机械产品大多体积庞大.运输成本高,在参加行业展会或向海外客户销售时,如果没有实物展示,仅凭静态.简单的图片说明书介绍,无法让客户全面了解产品,不仅工作人员制作麻烦,客户看得也费力.如 ...
- Angular介绍
Angulay介绍 1.介绍:是一个用于Html和TypeScript构建客户端应用平台与框架.Angular 本身就是用 TypeScript 写成的.基本构造块是 NgModule,它为组件提供了 ...
- javaScript 基础知识汇总 (十四)
1.回调 什么是回调? 个人理解,让函数有序的执行. 示例: function loadScript(src,callback){ let script = document.createElemen ...
- 返回运行方法,可以写在一行 callback&&callback()
return DiscountMap[discountType] && DiscountMap[discountType](price)
- Jmeter中使用MD5方法
在现在这家公司做测试的项目有用到鉴权,token的生成方式有使用到md5,具体的请求url和入参就不方便透露,讲一讲使用方法吧! 自带的Jmeter插件中是没有这个md5的所以,我们可以 (1)打开选 ...
- SpringMVC框架——文件的上传与下载
使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...
- hdu3294 Manacher算法模板
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3294/ 回文长度如果是mxx,回文中心是id的话,在扩展串中(id-mxx+1,id+mxx-1)的这段中去除标 ...
- canvas.toDataURL()报错的解决方案全都在这了
报错详尽信息 Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases ...