Wie lese ich Dateien in PHP? (Zusammenfassung teilen)
Oct 18, 2021 pm 04:15 PMIm vorherigen Artikel habe ich Ihnen „Die spannenden Grundlagen regulärer Ausdrücke in PHP (detaillierte Illustrationen)“ vorgestellt, in dem es hauptsächlich um die Grundkenntnisse regulärer PHP-Ausdrücke und deren Verwendung anhand von Beispielen geht. In diesem Artikel erfahren Sie weiterhin mehr über das PHP-Dateisystem. Hoffe, es hilft allen!
Wenn wir Computer benutzen, nutzen wir sie alle, um eine Datei zu öffnen und zu schließen, eine Datei zu erstellen oder eine Datei hochzuladen. Können diese Vorgänge also im Code ausgeführt werden? Wenn es möglich ist, wie sollte es durchgeführt werden? Tatsächlich ist es sehr einfach, die Dateiverarbeitung zu erlernen und sie mit dem zu kombinieren, was Sie zuvor gelernt haben. Werfen wir also als nächstes einen Blick darauf.
Das Lesen von Dateien ist einer der häufigsten Vorgänge in unserem täglichen Gebrauch. Wie implementieren wir ihn also im Code?
Lassen Sie uns vorstellen, wie Sie Funktionen in PHP zum Lesen von Dateiinhalten verwenden.
fgetc()
: Liest ein Zeichen aus einer Datei fgetc()
:从文件中读取一个字符
在使用这些函数读取文件之前,我们需要先在服务器根目录下建立一个文本文件(这里我们以 text.txt 为例),文本内容如下:
接下来我们来看一看,fgetc()在使用中应该怎样去用,输出的结果又是如何:
<?php header("Content-Type: text/html;charset=utf-8"); $handle = fopen('test.txt', 'r'); $a = fgetc($handle) ; echo $a; ?>
输出结果:
fgetc只能读取一个字符,我们可以利用之前讲到的循环来进行结合,就可以得到下面示例:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetc($handle))) { //循环读取文件内容 echo $char; } fclose($handle); //关闭文件 ?>
输出结果:
fgets()
和 fgetss()
:逐行读取文件
<?php header("Content-Type: text/html;charset=utf-8"); $handle = fopen('test.txt', 'r'); $a = fgets($handle) ; echo $a; ?>
输出结果:
fgetss()函数是fgets()的一个变式,也是用来读取一行数据,读取的同时它还会过滤掉读取内容中的PHP和HTML标记,
可以看出,通过fgets可以逐行读取文件,同时可以和上文一样,我们可以利用循环来读取全部文件。
示例如下:
<?php $handle = @fopen("test.txt", "r"); if ($handle) { while (($info = fgets($handle, 1024)) !== false) { echo $info.'<br>'; } fclose($handle); } ?>
输出结果:
fread()
:读取文件(任意长度)
<?php $filename = "test.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, '6'); echo '从文件中读取 6 个字符长度:'.$contents.'<br>'; rewind($handle); $contents = fread($handle, filesize($filename)); echo '读取全部的文件内容:'.$contents; fclose($handle); ?>
输出结果:
readfile()
:读取全部文件
<?php $file = 'test.txt'; $info = readfile($file); ?>
输出结果:
file()
:把整个文件读入一个数组中
<?php $file = 'test.txt'; $arr = file($file, FILE_IGNORE_NEW_LINES); $arr2 = file($file); echo '<pre class="brush:php;toolbar:false">'; var_dump($arr); var_dump($arr2); ?>
输出结果:
file_get_contents()
Als nächstes werfen wir einen Blick darauf, wie fgetc() verwendet werden sollte und was die Ausgabeergebnisse sind:
<?php $a = 'test.txt'; $b = file_get_contents($a); //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组 $c = explode("\n", $b); //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。 while (list($key, $val) = each($c)) { ++$key; $val = trim($val); //用的单引号,单引号不解释变量进行了拼接而已 print 'Line' . $key .':'. $val.'<br />'; } ?>
fgetc kann nur ein Zeichen lesen, wir können das verwenden zuvor erwähnte Schleifen zu kombinieren, und wir können das folgende Beispiel erhalten:
resource fopen ( string $文件名, string 模式) string fread ( resource $操作资源, int 读取长度) bool fclose ( resource $操作资源 )
fgets()
und fgetss()
: eine nach der anderen Zeile lesende Datei
Ausgabeergebnis:
png" alt="Wie lese ich Dateien in PHP? (Zusammenfassung teilen)"/>
- Die Funktion fgetss() ist eine Variante von fgets() und wird auch zum Lesen einer Datenzeile verwendet. Beim Lesen , es wird auch PHP im gelesenen Inhalt und HTML-Tags herausfiltern, Es ist ersichtlich, dass die Datei Zeile für Zeile über fgets gelesen werden kann und wir gleichzeitig, wie oben, eine Schleife zum Lesen verwenden können die gesamte Datei.
- Das Beispiel sieht wie folgt aus: rrreee🎜Ausgabeergebnis: 🎜🎜
🎜🎜🎜🎜
fread()
: Datei lesen (beliebige Länge)🎜🎜🎜🎜🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜
🎜🎜🎜🎜
readfile()
:Alle Dateien abrufen lesen 🎜🎜🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜🎜🎜
file()
: Die gesamte Datei in ein Array einlesen🎜🎜🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜🎜
file_get_contents(): Lesen Sie die Datei in eine Zeichenfolge ein. 🎜🎜🎜🎜Zuerst erstellen wir eine test.txt-Datei. 🎜🎜 🎜🎜🎜Dies ist die Integration des Wissens, das wir gelernt haben. Zuerst haben wir die Datei über file_get_contents geöffnet und dann die Ausgabeergebnisse über die list every-Anweisung und die while-Schleife erhalten. 🎜🎜🎜🎜Erweiterte Kenntnisse: fopen-, fread-, fclose-Operation lesen🎜🎜🎜🎜Die obige file_get_contents-Methode zum Öffnen einer Datei ist einfach und grob, dann die nächsten paar🎜rrreee🎜Durch die oben genannten Funktionen werden wir die üblichen Ressourcentypen erklären Betriebsmethode: 🎜🎜🎜🎜Ressourcen öffnen🎜🎜🎜🎜Verwenden Sie verwandte Funktionen zum Bedienen🎜🎜🎜🎜Ressourcen schließen🎜
fopen-Funktion Die Funktion der fopen-Funktion besteht darin, eine Datei zu öffnen. Es gibt zwei Hauptparameter:
Der Pfad zum Öffnen der Datei
Der Modus zum Öffnen der Datei
Der Rückgabetyp ist ein Ressourcentyp und der Ressourcentyp erfordert andere Funktionen zum Betreiben dieser Ressource. Alle Ressourcen müssen geschlossen sein, wenn sie geöffnet werden.
Fread-Funktion: Die Funktion der Funktion besteht darin, die geöffnete Dateiressource zu lesen. Lesen Sie die Dateiressource der angegebenen Länge, lesen Sie einen Teil davon und verschieben Sie einen Teil nach hinten. bis zum Ende der Datei.
fclose-Funktion: Die Funktion der fclose-Funktion besteht darin, Ressourcen zu schließen. Ressourcen werden geöffnet und geschlossen.
Als nächstes möchte ich Ihnen den Modus der fopen-Funktion vorstellen:
r
Öffnen Sie im schreibgeschützten Modus und richten Sie den Dateizeiger auf den Dateikopf.r
只读方式打开,将文件指针指向文件头。r+
读写方式打开,将文件指针指向文件头。w
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建w+
读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建a
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建a+
读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之x
创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建x+
r+
Öffnen Sie im Lese-/Schreibmodus und zeigen Sie mit dem Dateizeiger auf den Dateikopf.
w
Öffnen Sie im Schreibmodus, zeigen Sie mit dem Dateizeiger auf den Dateikopf und kürzen Sie die Dateigröße auf Null. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen. 🎜🎜🎜🎜w+
Öffnen Sie im Lese-/Schreibmodus, zeigen Sie mit dem Dateizeiger auf den Dateikopf und kürzen Sie die Dateigröße auf Null. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen. 🎜🎜🎜🎜a
Öffnen Sie im Schreibmodus und zeigen Sie mit dem Dateizeiger auf das Ende der Datei. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen. 🎜🎜🎜🎜a+
Öffnen Sie im Lese-/Schreibmodus und zeigen Sie mit dem Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, versuchen Sie, sie zu erstellen 🎜🎜🎜🎜x
Erstellen Sie sie und öffnen Sie sie zum Schreiben, indem Sie den Dateizeiger auf den Dateikopf richten. Wenn die Datei bereits vorhanden ist, schlägt der Aufruf von fopen() fehl, gibt FALSE zurück und generiert eine Fehlermeldung der Ebene E_WARNING. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen 🎜🎜🎜🎜x+
Erstellen und öffnen Sie sie im Lese-/Schreibmodus, wobei der Dateizeiger auf den Dateikopf zeigt. Wenn die Datei bereits vorhanden ist, schlägt der Aufruf von fopen() fehl, gibt FALSE zurück und generiert eine Fehlermeldung der Ebene E_WARNING. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonWie lese ich Dateien in PHP? (Zusammenfassung teilen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein
