美文网首页
php常用文件函数

php常用文件函数

作者: PENG先森_晓宇 | 来源:发表于2021-06-22 20:51 被阅读0次

fopen

fopen(fileName,mode)

将 filename 指定的名字资源绑定到一个流上,其实就是打开一个文件描述符,mode有下面几种模式:

mode 说明
r 以只读的方式打开,并将文件指针指向文件头部
r+ 以读写方式打开,并将文件指针指向文件头部
w 以写方式打开,并将文件大小设置为0,也就是会删除文件原内容。如果文件不存在则尝试创建
w+ 以读写方式打开,并将文件大小设置为0,也就是删除文件原内容。如果文件不存在则尝试创建
a 以写入方式打开,并将文件指针指向文件尾部。文件不存在则创建之
a+ 以读写方式打开,并将文件指针指向文件尾部。文件不存在则创建之
$file=fopen("./gis.txt",'r');

fread

读取文件,以字节数读取文件内容;file为必需,规定要读取打开文件;length必需,规定要读取的最大字节数。

fread(file,length)

fread是按照字节数读取数据的。

fgets

按行读取文件的内容,而fread是按照字节流读取数据的。

fgets(file)

feof

判断是否已到达文件末尾 。如果到达文件末尾返回true,如果没有到达的话返回false;

feof(file)

读取一个文件内容时,通常fgets和feof一起配合使用或者是fread和feof一起使用

$file=fopen('./a/txt','r+')
while(!feof($file){
    $cxt=fgets($file);//或者是$cxt=fread($file,100)
    //执行一些操作
    // todo
}
fclose($file)

fwrite

在文件描述符中写入字符。file为必写,是fopen打开的文件描述符,string为必选,为写入的字符串,length为可选,表示写入的最大字节数。

fwrite(file,string,length)

注意:使用该函数,在fopen的时候必须要有写入权限,比如r+,w+,a+,r+时文件的指针指向头部,w+时会清空源文件并文件指针指向头部,a+时才会是我们的理解追加问价内容,在文件尾部写入内容。

flock

在多进程中,写文件时会有一个乱序的问题,想要保证写入顺序正确,所有需要对文件加锁,这个是个很关键的函数flock

flock(file,operation)

operation表示锁的类型,锁类型一共有以下几种

类型 说明
LOCK_SH 获得共享锁,类似于MYSQL中的共享锁,可读不写写
LOCK_EX 获得独占锁,类似于MYSQL中的排他锁,不可读也不可写
LOCK_NB LOCK_SH和LOCK_EX锁都会阻塞,加LOCK_NB之后会解除阻塞,类似于REDIS中的互斥锁
LOCK_UN 用于解锁
$file=fopen("./a.txt",a+)
$flag=flock($file,'LOCK_EX|LOCK_NB');
while (!$flag){
    usleep(10000);//10毫秒
    $flag=flock($file,'LOCK_EX|LOCK_NB');
}
$cxt=11;
fwrite($file,$cxt);
flock($file,"LOCK_UN")
fclose($file);

file_get_contents

将整个文件的内容读入一个字符串

file_put_contents

将一个字符串写入文件,和依次调用fopen,fwrite,fclose相同。

file_put_contents(
    string `$filename`,
    mixed `$data`,
    int `$flags` = 0,
    resource `$context` = ?
): int

主要介绍下$flags,改变量是可选的,可选参数为FILE_APPEND表示追加内容,LOCK_EX表示在写入时加入一个独占锁,和上面介绍的flock中的LOCK_EX一样;

file_put_contents($file,"aaa","FILE_APPEND|LOCK_EX")

is_readable

判断文件是否可读,返回bool类型

is_readable('./a.txt')

is_writeable

判断文件是否可写,返回bool类型

is_writeable('./a.txt')

file_exists

判断文件是否存在

file_exists('./a.txt')

basename()

返回路径的文件名部分

basename('/home/gis.txt')

返回

gis.txt

dirname()

返回路径的目录部分

dirname('/home/gis.txt')

返回

/home

filesize

若成功,则返回文件大小的字节数。若失败,则返回 false 并生成一条 E_WARNING 级的错误。

unlink

删除文件,若成功,则返回 true,失败则返回 false。

相关文章

  • php常用文件函数

    fopen 将 filename 指定的名字资源绑定到一个流上,其实就是打开一个文件描述符,mode有下面几种模式...

  • PHP操作SQL常用tips

    PHP基础语法 PHP常用函数 die($str):终止当前PHP文件的执行,并向客户端输出一个终止的原因说明@:...

  • 链家-开发商端-面试题

    php php常用的数组及用法 php魔术函数 php私有成员变量 列举常用的打印函数及区别 实现一个单例模式 调...

  • PHP操作文件和目录

    1、用PHP方式对目录进行遍历 2、常用文件函数介绍 opendir(path,context);打开目录句柄。成...

  • 2018 10 19

    继续学习常用php原生函数

  • 九月四号

    PHP函数之内置函数 内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数...

  • 100个最常用的PHP函数

    下面的列表是最常用的前 100 个 PHP 函数:它们是最常用的 PHP 中自带的函数。 这些函数被命名使用,并从...

  • 100 个最常用的 PHP 函数

    下面的列表是最常用的前 100 个 PHP 函数:它们是最常用的 PHP 中自带的函数。 这些函数被命名使用,并从...

  • PHP操作文件常用函数

    1、函数功能简述 fopen() 打开文件或者 URL链接:https://www.php.net/fopen f...

  • PHP中常用的数学函数

    PHP中常用的数学函数如下:

网友评论

      本文标题:php常用文件函数

      本文链接:https://www.haomeiwen.com/subject/skfuyltx.html