PHP学习笔记-----文件系统

Windows系统中的文件类型:filedirunknown

Unix 系统中的文件类型:blockchardirfifolinkunknown

 

Block:块设备文件,如某个磁盘分区、软驱、光驱等

Char:字符设备是指在I/O传输过程中,以字符为单位进行传输的设备,例如键盘、打印机

Dir:目录类型,目录也是文件的一种

Fifo:命名管道,常用于将信息从一个进程传递到另一个进程

File:普通文件类型,如文本文件或可执行文件等

Link:符号链接,是指向文件指针的指针,类似Windows中的快捷方式

Unknown:未知类型

 

文件属性处理函数:

file_exists()           检查文件或目录是否存在

filesize()                取得文件大小

is_readable()          判断给定文件是否可读

is_wiritable()         判断给定文件是否可写

is_executable()       判断给定文件是否可执行

filectime()             获取文件的创建时间

filemtime()            获取文件的修改时间

fileatime()             获取文件的访问时间

stat()                     获取文件大部分属性值

 

注:对同一个文件名进行多次操作,并且需要该文件信息不被缓存时可调用clearstatcache()函数来清除被PHP缓存的该文件信息。

 

目录的基本操作

解析目录路径

1  basename()

返回路径中的文件名部分。

@path 文件路径

@suffix   文件扩展名,如果提供了则不会输出扩展名。

string basename( string path [,string suffix])

 

2        dirname()

返回去掉文件文件名后的目录名

 

3        pathinfo()

返回一个关联数组,其中包括制定路径中的目录名、基本名和扩展名。

      

       遍历目录

              1  opendir() 打开目录,返回可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或者没有访问权限,则返回FALSE

              2  readdir()   用于读取指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数,函数返回当前目录指针位置的一个文件名,并将目录指针向后移动一位。

              3  closedir()  关闭指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数。

              4     rewinddir() 倒回目录句柄,接受已经用opendir()函数打开的可操作目录句柄作为参数。将目录指针重置目录到开始处,即倒回目录的开头。

 

文件的基本操作

一、文件的打开与关闭

@ filename 要被打开的文件的URL

@ mode 文件模式(r,r+,w,w+,x,x+,a,a+,b,t

@use_include_path

@ zcontext 可以支持其他协议

resource fopen(string filename,string mode [, bool use_include_path [,resource zcontext]])

       fclose()

 

二、写入文件

@ handle 需要打开的文件资源

@ string 字符串输出到第一个参数指定的资源中

@ length 写入最大字节数

@ return 返回写入的字符数

fwrite()

 

三、读取文件内容

1 fread()

string fread (inthandle,int length)

 

2 fgets()  fgetc()

 

string fgets(int handle [,int length])

 

3 file()

 

4 readfile()

 

四、移动文件指针

intftell(resource handle) //返回文件指针的当前位置

intfseek(resource handle,int offset [,int whence])//移动文件指针到指定的位置

boolrewind(resource handle)//移动文件指针到文件的开头

 

五、文件的锁定机制

@operation

       LOCK_SH 取得共享锁定(从文件中读取数据时使用)

       LOCK_EX 取得独占锁定(向文件中写入数据时使用)

       LOCK_UN 释放锁定(无论共享或独占锁,都用它释放)

       LOCK_NB 附加锁定(防止flock()在锁定时堵塞)

bool flock ( inthandle,int operation [,int &wouldblock])

 

六、文件的上传

1          客户端上传设置

method=”POST”

enctype=”multipart/form-date”

2          在服务器通过PHP处理上传

$_FILES多维数组

PHP的文件上传处理函数

 

PHP配置文件的设置   php.ini

file_uploads    确定服务器上的PHP脚本是否可以接受HTTP文件上传

uploads_max_filesize    限制PHP处理上传文件大小的最大值,此值必须小于post_max_size

post_max_size   限制通过POST方法可以接受信息的最大值,此值应当大于配置指令upload_max_file的值,因为除了上传的文件之外,还可能传递其他的表单域

upload_tmp_dir      上传的文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。默认值为NULL则为操作系统的临时文件夹。


你可能感兴趣的:(PHP,系统,文件)