码迷,mamicode.com
首页 > 其他好文 > 详细

文件系统

时间:2017-11-08 22:22:50      阅读:117      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!