欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP文件相关常用函数

程序员文章站 2024-02-19 11:02:10
...
use \Phalcon\DI\FactoryDefault;

$config_file = FactoryDefault::getDefault()->get('config')->globals->config_path . "config.xml";
$config_file_handle = null;
if (is_writable($config_file)) {
                $config_file_handle = fopen($config_file, "r+");
} else {
                // open in read-only mode
                $config_file_handle = fopen($config_file, "r");
}
if (flock($config_file_handle, LOCK_EX)) {
                fseek($config_file_handle, 0);
                ftruncate($config_file_handle, 0);
                fwrite($config_file_handle, $xml_text);
                // flush, unlock, but keep the handle open
                fflush($config_file_handle);
                flock($config_file_handle, LOCK_UN);
} 

 

目录

 

1.fopen() 函数打开一个文件或 URL。

语法

2.flock() 函数锁定或释放文件。

语法

3.fseek() 函数在打开的文件中定位。

语法

4.ftruncate() 函数把打开文件截断到指定的长度。

语法

 5.fwrite() 函数写入文件(可安全用于二进制文件)。

语法

说明

6.fflush() 函数向打开的文件写入所有的缓冲输出。

语法

7. stream_get_contents — 读取资源流到一个字符串,返回一个字符串 或者在失败时返回 FALSE.

说明

参数

8.simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

语法


1.fopen() 函数打开一个文件或 URL。

如果 fopen() 失败,它将返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。

语法

fopen(filename,mode,include_path,context)

参数 描述
filename 必需。规定要打开的文件或 URL。
mode 必需。规定您请求到该文件/流的访问类型。

可能的值:

  • "r" (只读方式打开,将文件指针指向文件头)
  • "r+" (读写方式打开,将文件指针指向文件头)
  • "w" (写入方式打开,清除文件内容,如果文件不存在则尝试创建之)
  • "w+" (读写方式打开,清除文件内容,如果文件不存在则尝试创建之)
  • "a" (写入方式打开,将文件指针指向文件末尾进行写入,如果文件不存在则尝试创建之)
  • "a+" (读写方式打开,通过将文件指针指向文件末尾进行写入来保存文件内容)
  • "x" (创建一个新的文件并以写入方式打开,如果文件已存在则返回 FALSE 和一个错误)
  • "x+" (创建一个新的文件并以读写方式打开,如果文件已存在则返回 FALSE 和一个错误)
include_path 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 '1'。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

 

2.flock() 函数锁定或释放文件。

如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法

flock(file,lock,block)

参数 描述
file 必需。规定要锁定或释放的已打开的文件。
lock 必需。规定要使用哪种锁定类型。

可能的值:

  • LOCK_SH - 共享锁定(读取的程序)。允许其他进程访问该文件。
  • LOCK_EX - 独占锁定(写入的程序)。防止其他进程访问该文件。
  • LOCK_UN - 释放一个共享锁定或独占锁定
  • LOCK_NB - 锁定的情况下避免阻塞其他进程。
block 可选。若设置为 1,则当进行锁定时阻塞其他进程。

3.fseek() 函数在打开的文件中定位。

该函数把文件指针从当前位置向前或向后移动到新的位置,新位置从文件头开始以字节数度量。

成功则返回 0;否则返回 -1。注意,移动到 EOF 之后的位置不会产生错误。

语法

fseek(file,offset,whence)
参数 描述
file 必需。规定要在其中定位的文件。
offset 必需。规定新的位置(从文件头开始以字节数度量)。
whence 可选。可能的值:
  • SEEK_SET - 设定位置等于 offset 字节。默认。
  • SEEK_CUR - 设定位置为当前位置加上 offset
  • SEEK_END - 设定位置为文件末尾加上 offset (要移动到文件尾之前的位置,offset 必须是一个负值)。

4.ftruncate() 函数把打开文件截断到指定的长度。

如果成功则返回 TRUE,如果失败则返回 FALSE。

语法

ftruncate(file,size)

 

参数 描述
file 必需。规定要截断的打开文件。
size 必需。规定新的文件大小。

 5.fwrite() 函数写入文件(可安全用于二进制文件)。

语法

fwrite(file,string,length)
参数 描述
file 必需。规定要写入的打开文件。
string 必需。规定要写入文件的字符串。
length 可选。规定要写入的最大字节数。

说明

fwrite() 把 string 的内容写入文件指针 file 处。 如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。

fwrite() 返回写入的字符数,出现错误时则返回 false。

6.fflush() 函数向打开的文件写入所有的缓冲输出。

如果成功则返回 TRUE,如果失败则返回 FALSE。

语法

fflush(file)

参数 描述
file 必需。规定要检查的打开文件流。

 

7. stream_get_contents — 读取资源流到一个字符串,返回一个字符串 或者在失败时返回 FALSE.

说明

stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] ) : string

与 file_get_contents() 一样,但是 stream_get_contents() 是对一个已经打开的资源流进行操作,并将其内容写入一个字符串返回。 返回的内容取决于 maxlength 字节长度和 offset 指定的起始位置。

参数

handle (resource):一个资源流(例如 fopen() 操作之后返回的结果)

maxlength (integer):需要读取的最大的字节数。默认是-1(读取全部的缓冲数据)。

offset (integer):在读取数据之前先查找指定的偏移量。如果这个数字是负数,就不进行查找,直接从当前位置开始读取。

8.simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

语法

simplexml_load_string(data,classname,options,ns,is_prefix);

参数 描述
data 必需。规定形式良好的 XML 字符串。其他参数可选