PHP 文件的相关操作
2021-03-18 07:24
标签:link set 乱码 内容 数组元素 flag 文件锁定 删除文件 重命名 主要是两个函数,fopen和fclose。 返回的是资源类型的数据 r:(只读模式)以只读方式打开,文件指针指向文件的开头部分 w:(只写模式)以写方式打开,指针指向文件头部,如果文件不存在,会创建一个新文件,如果文件存在,文件内容会被清空 a:以追加方式打开,指针指向文件末尾(只写),如果文件不存在,会创建一个新文件 可以读取单个字符、一行、整个文件、读任意长度的数据。 不需要对文件打开与关闭 读入一个文件并把它输出(output)到缓存中(buffer) 返回读取文件的字节数,错误则返回false。 读取整个文件内容到一个数组,数组每个元素对应一行。 在读取指定长度 length 或碰到新行或碰到 EOF 时结束。 是fgets()的变体,用于读取一行数据,不过 会过滤掉被读取内容的html和php标记,效果同strip_tags() PHP 7.3.0 中,已被废弃,不推荐使用。 fgetc() 在对某一个字符进行查找、替换时,需要有针对性的对某个字符进行读取,那么我们就可以使用fgetc来实现 fread() 读取汉字时,根据汉字的字节数避免出现乱码 返回文件的绝对路径(盘符绝对路径) PHP可以实现文件指针的定位和查询,从而实现所需信息的查询,文件指针有四个函数 whence 可能的值 在向一个文件写入内容时,需要先将文件锁定,以防止其他用户同时修改该文件。 operation 在PHP中支持URL格式的文件的调用 //readfile(文件地址):将文件内容读取到内存中 数据流(输出流):内存输出到屏幕的数据流 ob_get_contents():得到输出流中缓冲的内容 ob_clean:关闭输出流 PHP 文件的相关操作 标签:link set 乱码 内容 数组元素 flag 文件锁定 删除文件 重命名 原文地址:https://www.cnblogs.com/jiaoran/p/12774320.html文件的打开和关闭
fopen ( string $filename , string $mode [, bool $use_include_path = FALSE [, resource $context ]] ) : resource
mode 打开模式:指的是文件打开是以写入、读取、执行等等方式
r+:(读写模式)以读写方式打开,文件指针指向文件的开头
w+:(写读模式),指针指向文件头部,如果文件不存在,会创建一个新文件,如果文件存在,文件内容会被清空,可以读取
a+:以追加方式打开,如果文件存在,指针指向文件末尾,(读写)如果文件不存在,会创建一个新文件
文件的读取
1、读取整个文件:
readfile ( string $filename [, bool $use_include_path = FALSE [, resource $context ]] ) : int
file ( string $filename [, int $flags = 0 [, resource $context ]] ) : array
file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] ) : string
将文件读入到一个字符串中,从 offset 开始,读取 maxlen 长度。
该函数适用于二进制对象,是将整个文件内容读取到一个字符串中的首选方式
2、读取一行:
fgets ( resource $handle [, int $length ] ) : string
fgetss ( resource $handle [, int $length [, string $allowable_tags ]] ) : string
3、读取单个字符:
fgetc ( resource $handle ) : string
4、读取任意长度的字符:
fread ( resource $handle , int $length ) : string
文件的写入
不需要打开关闭
相当于 fopen("","w\w+")->fwrite()->fclose()
第三个参数(FILE_APPEND)可以实现追加功能
文件的其他操作
copy ( string $source , string $dest [, resource $context ] ) : bool
文件或文件夹,可实现剪切功能rename ( string $oldname , string $newname [, resource $context ] ) : bool
unlink ( string $filename [, resource $context ] ) : bool
filesize ( string $filename ) : int
realpath ( string $path ) : string
stat("filename")
返回一个数组,数组元素是文件的相关信息,包括文件大小、最后的修改时间等
last access
modification
文件指针的操作
rewind feof ftell fseek
fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int
SEEK_SET - Set position equal to offset bytes.
SEEK_CUR - Set position to current location plus offset.
SEEK_END - Set position to end-of-file plus offset.
文件锁 flock
flock ( resource $handle , int $operation [, int &$wouldblock ] ) : bool
LOCK_SH: 取得共享锁
LOCK_EX: 取得独占锁 exclusive 排外
LOCK_UN: 释放锁定
LOCK_NB: 防止flock()在锁定的时候堵塞 (防止多人同时锁定一个文件)
远程文件读取
在php.ini中开启 allow_url_fopen = On
ob_start(): 开启输出流
可以用来读取网络上的图片