Heim > Artikel > Backend-Entwicklung > PHP-Dateioperationen
Der in diesem Artikel vorgestellte Inhalt befasst sich mit der Funktionsweise von PHP-Dateien. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.
Obwohl dies eine sehr grundlegende Sache ist Ich schäme mich dafür, aber ich weiß nicht viel darüber. Deshalb habe ich diese Gelegenheit genutzt, um die
Öffnen dieser Datei durchzugehen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
Erstellen Sie eine Dateisperre, um Parallelität zu verhindern
Schreiben Sie diese Daten in diese Datei
Freigeben Sperren und schließen Sie das Dateihandle
Öffnen Sie diese Datei. Wenn sie nicht geöffnet werden kann, beenden Sie
Daten aus Datei lesen
Diese Datei schließen
fopen($filename,$mode,$include_path,$context)
Gibt false zurück, wenn das Öffnen fehlschlägt, und gibt das Ressourcenobjekt zurück, wenn das Öffnen erfolgreich ist.
属性名称 | 作用 |
---|---|
$filename | 文件的路径(文件路径的间隔符用‘/’来表示,用’’可能会导致linux不识别) |
$mode | 文件访问的形式(写 |
$include_path | (可选)从指定目录开始寻找文件所在位置 |
$context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
Hinweis:
- Wenn das Präfix der Datei ftp:// lautet, was der Dateiserver ist, richtet diese Funktion einen passiven Modus ein, um eine Verbindung zum angegebenen Server herzustellen. Und gibt einen Zeiger auf den Anfang der Datei zurück
– Wenn das Dateipräfix http:// lautet, wird eine http-Verbindung zum angegebenen Server hergestellt und ein Zeiger auf die Papp-http-Antwort zurückgegeben
- Führen Sie Dateivorgänge unter Linux aus. Achten Sie auf die Berechtigungskonfiguration des Servers.
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
A. fopen()
-Funktion muss aufgerufen werden
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B. fopen()
Funktion muss nicht aufgerufen werden
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; //删除文件
Funktion: ` fclock( $fp,'operation value');//Sperre öffnen
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
Obwohl dies eine sehr grundlegende Sache ist, schäme ich mich, dass ich nicht viel darüber weiß. Deshalb habe ich diese Gelegenheit genutzt, um die
Öffnen dieser Datei durchzugehen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
Erstellen Sie eine Dateisperre, um Parallelität zu verhindern
Schreiben Sie diese Daten in diese Datei
Freigeben Sperren und schließen Sie das Dateihandle
Öffnen Sie diese Datei. Wenn sie nicht geöffnet werden kann, beenden Sie
Daten aus Datei lesen
Diese Datei schließen
fopen($filename,$mode,$include_path,$context)
Gibt false zurück, wenn das Öffnen fehlschlägt, und gibt das Ressourcenobjekt zurück, wenn das Öffnen erfolgreich ist.
属性名称 | 作用 |
---|---|
$filename | 文件的路径(文件路径的间隔符用‘/’来表示,用’’可能会导致linux不识别) |
$mode | 文件访问的形式(写 |
$include_path | (可选)从指定目录开始寻找文件所在位置 |
$context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
操作符 | 模式名称 | 意义 |
---|---|---|
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 | 防止在请求枷锁时发生柱塞 |
Das obige ist der detaillierte Inhalt vonPHP-Dateioperationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!