标签:php
一、文件系统的概述
1. 系统分类
windows: win95 win98 win xp win2000 win2003 win 7 win 8 win 9 win10
linux: 红帽 乌班图 安卓
黑莓
mac os
2. 文件系统概念
php的文件系统不是一个系统 是php处理文件的一个模块 给我们提供了一组操作文件的函数
那么我们学习文件系统其实就是学习相关函数
二、文件类型及属性
1. 文件类型
可以使用函数filetype() 获取文件的具体类型
windows 下 就有三种类型
file 文件类型
dir 目录类型
unknown 未知类型
linux 下类型
file 文件类型
dir 目录类型
block 块设备类型 例如:某个磁盘、光驱、软驱CD-ROM等
char 字符设备类型 就是输入端 键盘 打印机等
link 符号链接类型 快捷方式
unknown 未知类型
判断文件类型的函数(重点重点)
filetype()
参数: 文件或目录的路径
返回我们的文件类型
2. 文件类型判断
is_dir() ---- 判断给定的文件是否一个目录(重点重点)
is_file() ---- 判断给定的是否是一个文件(重点重点)
is_executable() ---- 判断给定的文件是否可执行(掌握)
is_readable() ---- 判断给定的文件是否可读(掌握)
is_writable() ---- 判断给定的文件是否可写(掌握)
参数是路径
返回值都是如果是返回true 否则返回false
3. 文件的属性(重点重点)
file_exists() 判断文件是否存在 文件存在返回true 文件不存在返回false
参数: 你要判断的是否存在的文件或目录路径
filesize() 获取文件的大小
返回值是文件的字节数 单位Byte
参数:你要判断的文件的路径
注意: filesize函数只能判断文件的大小 不能判断目录的大小
filectime() 获取文件的创建时间 参数 文件路径 返回 unix时间戳格式(掌握)
filemtime() 获取文件的修改时间 参数: 文件路径 返回值 unix时间戳格式(掌握)
fileatime() 获取文件的访问时间 参数: 文件路径 返回值:unix时间戳格式(和我们的系统有关系 如果你是linux系统可以使用 windows系统有差别)(掌握)
stat() 获取文件大部分属性 参数 :文件路径 返回值 返回一个给定文件的属性信息的数组(了解)
三、目录操作
1. 解析目录路径
常用的文件目录路径格式
linux : /var/www/html/index.html
window1: C:\wamp\www\oto\ss21\index.html
window2: C:/wamp/www/oto/ss21/index.html
windows系统里面/和\ 都可以使用 但是在linux下我们只能使用/ 用/来分隔我们的路径
路径中分为相对路径和绝对路径
2. 目录函数(重点重点重点重点重点)
basename() -- 返回路径中的文件名部分
dirname() -- 返回路径中的目录部分
pathinfo() --返回文件路径信息 返回一个数组 你可以根据下标来获取里面的值 也可以通过第二个参数
PATHINFO_DIRNAME 获取目录部分
PATHINFO_BASENAME 获取文件名部分(文件名和后缀名都存在)
PATHINFO_EXTENSION 获取后缀名部分
PATHINFO_FILENAME 获取文件名
3. 遍历目录(重点重点重点重点)
opendir() -- 打开目录 参数:要打开的目录路径 返回值一个打开目录的资源
readdir() -- 读取目录 参数: 打开目录的资源变量 返回值是文件名
closedir() -- 关闭目录 参数: 打开目录的资源遍历
4. 统计磁盘大小
disk_free_space() -- 返回目录可用空间 单位是字节 参数:文件路径
disk_total_space() -- 返回目录总空间 单位是字节 参数:文件路径
5. 建立与删除目录
mkdir -- 新建目录
参数 : 第一个参数 要创建的目录路径
第二个参数 是权限 777
第三个参数 是否递归 true递归创建 false 为不递归创建(默认值)
如果你存在目录则不创建 如果不存在则创建
rmdir()-- 删除空目录
参数: 要删除目录的路径
6. 创建与删除文件(重点重点重点重点重点)
touch -- 创建一个空文件
参数: 要创建的路径
unlink --- 删除文件
参数:要删除文件的路径
7. 打开文件(重点重点重点重点重点重点)
fopen() -- 打开文件 返回一个资源
参数1: 要打开文件的路径
参数2: 要以什么模式打开
r 只读方式打开
w 只写方式 清空文件 从头开始写 如果文件不存在则创建
a 只写方式 追加模式写入 如果文件不存在则创建
x 只写方法打开 如果文件存在则报错 文件不存在创建
r+ 读写方式打开 从头开始覆盖去写
w+ 读写方式打开 清空文件 从头开始写 如果文件不存在则创建
a+ 读写方式打开 追加模式写入 如果文件不存在则创建
x+ 创建并读写方式打开
8. 写入文件重点重点重点重点重点重点
fwrite -- 写入文件
第一个参数 我们打开文件资源
第二个参数 要写的字符串
file_put_contents()
参数:
要写入的文件
要写入文件的内容
9. 读取文件内容(重点重点重点重点重点)
fread -- 读取文件内容
第一个参数 我们打开的文件资源
第二个参数 你要读取文件的大小
返回你读取的字符串
file_get_contents();
参数: 你要读取的内容路径
fgets() 从打开的文件中读取一行
fgetc() 从打开的文件中读取一个字符
feof() 判断你的文件内容是否到最后一行如果是返回true 如果不是返回false
file() 把文件中的内容读入一个数组中
readfile() 把文件直接读取到当前页面 不需要打印
10. 重置指针
rewind() -- 重置指针
参数:你打开文件的资源内容
11. 复制文件
copy() 拷贝文件(不能拷贝目录)
第一个参数 你要拷贝的文件路径
第二个参数 你要拷贝到什么地方的路径
12. 重命名操作
rename -- 重命名一个文件或者目录(剪切!)
第一个参数: 老文件名(路径)
第二个参数: 新文件名(路径)
文件上传的特征是什么
将本地文件复制一份传送到网络服务器中存储
和form表单相关的
需要在form标签中 属性 enctype=”multipart/form-data”
在input标签中type属性上填上file值
和php相关的
如果有文件上传 php 页面需要使用$_FILES 来接受文件上传的相关内容
注意: 只要有文件上传 表单的传输方式必须是post
错误信息
UPLOAD_ERR_OK
其值为 0,没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
其值为 3,文件只有部分被上传。
UPLOAD_ERR_NO_FILE
其值为 4,没有文件被上传。
UPLOAD_ERR_NO_TMP_DIR
其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。
UPLOAD_ERR_CANT_WRITE
其值为 7,文件写入失败。PHP 5.1.0 引进。
和php配置文件相关的选项:php.ini
file_uploads =on 允许文件上传
upload_tmp_dir=”C:/wamp/tmp” 临时目录
upload_max_filesize = 64M 文件上传最大为64M
max_file_uploads = 20 允许同时上传的最大个数20个
post_max_size = 200M post允许接受的最大内容
用到文件上传的地方:
所有的商品图片全部使用文件上传
网盘
网络相册
头像
实名认证
邮件附件
文件下载
标签:php
原文地址:http://13346331.blog.51cto.com/13336331/1980074