php文件操作相关函数
一、文件类型1.filetype()获取文件类型函数,参数为字符串(路径+文件名)返回值为字符串,file(普通文件),dir(目录)或unknown(未知文件)2.is_file() is_dir()判断是否是该类型,返回布尔值二、文件属性(以下函数参数均为文件名)1.file_exists() 检查文件或目录是否存在2.filesize() 取得文件大小,出错返回false3.is_readable() 是否可读4.is_writable() 是否可写5.is_executable() 是否可执行6.filectime() 获取创建时间7.filemtime() 获取修改时间8.fileatime() 获取访问时间9.stat() 获取文件大部分属性值10.clearstatcache() 清除被PHP缓存的该文件信息三、解析目录1.basename(path,[suffix]) 返回路径中的文件名部分,第二个参数为扩展名(如"php"或".php"),如给出则返回值中不再有扩展名2.dirname(path) 返回去掉文件名后的目录名3.pathinfo() 返回一个关联数组,包括dirname(目录名),basename(基本名),extension(扩展名)四、遍历目录1.opendir() 打开指定目录,返回可供其他目录函数使用的目录句柄。失败返回false2.readdir() 读取指定目录,参数为目录句柄,返回当前目录指针位置的一个文件名,并将指针后移一们。没有更多文件返回false3.closedir() 关闭指定目录,参数为目录句柄4.rewinddir() 倒回目录句柄,参数为目录句柄,将目录指针重置到开始处五、建立和删除目录1.mkdir() 建立新目录,参数为目录名2.rmdir() 删除目录,被删除的只能是空目录,如非空,则必须先进入目录,将其中的文件用unlink()函数删除六、复制或移动目录1.复制:php中无特定函数,必须先新建目录mkdir(),再使用copy()函数复制每个文件。2.移动:先复制,后删除原目录七、文件打开与关闭1.fopen(filename,mode[,use_include_path[,zcontext]]) 打开文件,参数为文件名,文件模式,第三个参数可选,设为1会使PHP考虑配置指令include_path中指定的路径,第四个参数可选,设置允许文件名称以协议名称开始,如http://。返回文件指针,失败返回false。模式总结:r 只读r+ 读写w 只写(文件存在,则删除原有数据,文件不存在,则创建这个文件)w+ 读写(同w)x 写入(文件存在,返回false,文件不存在则创建,仅本地)x+ 读写(同x)a 写入(指针指向文件尾,文件不存在则创建)a+ 写入(同a)b 二进制模式t 文本模式2.fclose() 关闭八、操作文件内容1.fwrite(handle,string[,length]) 写入字符串。nr为行结束字符。返回写入的字符数,失败返回false.2.fread(handle,length) 读取打开的文件3.file_get_contents() 将文件读入字符串4.fgets(handle[,length]) 返回一行5.fgetc() 返回字符6.file() 把文件读入一个数组,每行为一个元素。7.readfile() 读取一个文件,输出到输出缓冲8.feof() 判断是否到达文件结束处,是则返回true9.file_get_contents()10.访问远程文件:配置文件中激活"allow_url_fopen"选项,set_time_limit()函数控制程序运行时间可避免超时错误。九、移动文件指针1.ftell(handle) 返回文件指针当前位置2.fseek(handle,offset[,whence]) 移动文件指针到由offset参数指定位置。参数三:SEEK_CUR 当前位置加上第二个参数把提供的字节;SEEK_END EOF加上offset字节,此时,offset必须为负值;SEEK_SET offset字节处,与无此参数效果相同;成功返回0,失败返回-1。如以a或a+打开,总是附加在后面,不管文件指针位置。3.rewind(handle) 移动到文件开关十、文件锁定机制(防止多用户同时访问同一文件造成文件混乱)1.flock(handle,operation[,&wouldblock]) 文件锁定操作,参数二:LOCK_SH 共享锁定,读取数据时使用;LOCK_EX 独占锁定,写入数据使用;LOCK_UN 释放锁定;LOCK_NB 附加锁定,防止锁定时堵塞。参数三:设为1时,锁定期间阻止其他进程。十、文件复制、删除等1.copy(本源文件,目的文件) 复制2.unlink(目标文件) 删除文件3.ftruncate(目标文件资源,截取长度) 将文件截断到指定长度4.rename(旧文件名,新文件名) 重命名文件或目录十一、文件上传与下载1.全局数组$_FILES$_FILES["myfile"]["name"] 原名称,含扩展名$_FILES["myfile"]["size"] 已上传文件大小,单位为字节$_FILES["myfile"]["tmp_name"] 上传后临时文件名$_FILES["myfile"]["error"] 0:成功;1:大小超出PHP配置文件限制;2:大小超出表单限制;3:文件上载不完整;4:没有上载任何文件$_FILES["myfile"]["type"] 获取上传文件的MIME类型2.is_uploaded_file() 判断是否是通过HTTPPOST上传的3.move_uploaded_file() 将上传的文件从临时位置移动到新位置4.下载头信息处理header('Content-Type:image/gif'); MIME类型header('Content-Disposition:attachment;filename="test.gif"'); 头信息,附件和文件名header('Content-Length:3390'); 大小readfile('test.gif');
原文地址:http://www.software8.co/wzjs/PHPshili/897.html