php文件操作函数
file_get_contents
获取一个文件或一个网络资源的内容,是比较快捷的函数,内部封闭了打开/关闭操作
但是小心,此函数一次性把文件内容全部读出来,放内存里.
工作中,处理大文件时候.慎用此函数
不支持https协议,如需复制https网页,请改用curl
file_get_contents(path,include_path,context,start,max_length)
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
若使用 null,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
说明: 如果文件不存在,则会警告
file_put_contents
把字符串内容写入文件,内部封闭了打开/关闭操作
file_put_contents(file,data,mode,context)
file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。
mode 可选。规定如何打开/写入文件。可能的值:FILE_USE_INCLUDE_PATH,FILE_APPEND,LOCK_EX。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。
文件操作正统函数
fopen
fread
fwrite
fclose
fopen(filename,mode,include_path,context)
打开一个文件,返回一个资源句柄
filename 必需。规定要打开的文件或 URL。
mode 必需。规定要求到该文件/流的访问类型。
include_path 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。
context 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。
说明:fopen() 将 filename 指定的名字资源绑定到一个流上。
如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。
如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。
该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。
如果**了安全模式或者 open_basedir 则会应用进一步的限制。
如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被**。
如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。
fread($handle,length)
handle 必需。规定读取的文件资源通道。
length 必需。规定要读取的最大字节数。
说明:文件指针 file 读取最多 length 个字节。该函数在读取完最多 length 个字节数,
或到达 EOF 的时候,或(对于网络流)当一个包可用时,
或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件。
fwrite($handle,string,length)
handle 必需。规定要写入的文件资源通道。
string 必需。规定要写入文件的字符串。
length 可选。规定要写入的最大字节数。
说明:fwrite() 把 string 的内容写入文件指针 file 处。
如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,具体看先碰到哪种情况。
模式
r 只读(fwrite写不了)
w 只写(fread读不了),并把文件大小截为0(文件被清空了),指针停在文件头
r+ 读写,并把指针指向文件头
a 追加,能写并把指针停在文件的最后
读一行
file函数
直接读取文件内容,并按行拆成数组,返回该数组
一次性读入全部,大文件慎用
文件时间函数
filectime() 创建时间
fileatime()访问时间
filemtime() 修改时间
操作csv文件 fgetcsv
做个题: