Home>Article>Backend Development> php file operations
The content introduced in this article is about the operation of php files. It has a certain reference value. Now I share it with everyone. Friends in need can refer to it.
Although this is a very basic thing, I am ashamed. It's me but I don't know much about it. So I took this opportunity to review the steps for writing a file
Open this file. If the file does not exist, create it.
Create a file lock to prevent concurrency
Write these data to this file
Release lock, and close the file handle
Open the file, exit if it cannot be opened
Read data from the file
Close this file
fopen($filename,$mode,$include_path,$context)
Returns false if the opening fails and returns the resource object if the opening is successful.
Attribute name | Function |
---|---|
The path of the file (the separator of the file path is represented by '/', using '\' may cause Linux not to recognize it) | |
File access Form (write | |
(optional) Search for the file location starting from the specified directory | |
Optional. Specifies the context of the file handle. |
- When the file prefix is http://, a passive mode will be established. An http connection to the specified server returns a pointer to the cardboard http response
- When performing file operations on Linux, please pay attention to the permission configuration of the server
Meaning | ##r | |
---|---|---|
r | Read and write mode | |
w | Write-only mode | |
w | Read and write mode | |
##x | Write with caution | |
x | Write with caution | |
a | Append | |
a | Append | |
Write file operations | A. You need to call |
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
Function
Close file1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
fclose($fp) 如果成功返回true,反之false
Read operation
Other file functions$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
LOCK_SH | |
---|---|
LOCK_EX | Write operation lock, mutex lock |
LOCK_UN | Release existing lock |
LOCK_NB | Prevent the plunger from occurring when requesting shackles |
Although this is a very basic thing, I am ashamed that I don’t know much about it. So I took this opportunity to review the steps for writing a file |
Open this file. If the file does not exist, create it.
注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
##$filename | The path of the file (the separator of the file path is represented by '/', using '\' may cause Linux not to recognize it) |
---|---|
File access Form (write | |
(optional) Search for the file location starting from the specified directory | |
Optional. Specifies the context of the file handle. |
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
A. 需要调用fopen()
函数
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B . 不需要调用fopen()
函数
1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
fclose($fp) 如果成功返回true,反之false
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
函数:`fclock($fp,’操作值’);//开启锁
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
The above is the detailed content of php file operations. For more information, please follow other related articles on the PHP Chinese website!