Heim > Artikel > Backend-Entwicklung > So erhalten Sie alle Daten der Datei gleichzeitig im PHP-Dateibetrieb
Im vorherigen Artikel „php-Dateioperation – Dateien Zeile für Zeile lesen“ haben wir die Methode zum zeilenweisen Lesen von Dateien vorgestellt und können dann mithilfe von Schleifen alle Daten der Datei abrufen. Wenn Sie also keine Schleife verwenden, wie erhalten Sie dann alle Daten der Datei? In diesem Artikel erfahren Sie, wie Sie alle Daten einer Datei auf einmal abrufen, ohne Schleifen zu verwenden.
Es gibt viele Möglichkeiten, alle Daten einer Datei auf einmal in PHP zu lesen. Heute lernen wir hauptsächlich die beiden Funktionen fread() und readfile() kennen.
Wir haben eine Textdatei mit dem Namen „test.txt“, deren Inhalt ist:
Lassen Sie uns zunächst die Funktion fread() verstehen und uns das folgende Beispiel ansehen:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'r'); //打开文件 $contents = fread($handle, filesize($file)); //读取文件内容 echo $contents; fclose($handle);//关闭文件 ?>Ergebnis ausgeben :
Es ist ersichtlich, dass der gesamte Inhalt der Datei „test.txt“ ausgegeben wird. Tatsächlich besteht die Funktion von
fread($handle,$length)
darin, die geöffnete Datei $handle
zu lesen und die Zeichenlänge von $length Zeichen. Wenn der Wert des Parameters $length jedoch als „<code>filesize($file)
“ angegeben wird, können alle Daten der gesamten Datei gelesen werden. Die Rolle der Funktion filesize() besteht darin, die Dateigröße zu ermitteln, und die Funktion der Funktion fread() besteht darin, die gesamte Datei zu lesen. fread($handle,$length)
函数的作用是读取打开文件$handle
中,指定$length
字符长度的字符。但当$length参数的值被指定为 “filesize($file)
”,那么就可以读取整个文件的全部数据了。filesize()函数的作用是获取文件大小,在 fread()函数中的作用就是读取整个文件。
使用fread()读取整个文件,还要先打开文件,计算整个文件的大小,读取完还要关闭文件,有复杂,有没有更简便的?答案是有,可以使用readfile()函数。
我们看看下面的示例:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; readfile($file); //读取文件内容 ?>
输出结果:
是不是很简单,直接使用一行代码“readfile($file);
”就可以一次性获得文件的全部数据了;不需要打开或关闭文件,也不需要使用echo
等输出语句就可输出文件内容。
下面我们来了解一下readfile()函数。
readfile($filename,$include_path,$context)
函数会读取一个文件并将其写入到输出缓冲,同时返回从文件中读入的字节数。
该函数接受1个必需参数$filename
(指定要读取的文件名或文件路径),2个可省略的参数$include_path
和$context
。
$include_path
参数:设定是否想要在 include_path (在 php.ini 中)中搜索该文件,默认为 FALSE;如果想,则设置参数值为 '1'。
$context
参数:设置文件句柄的环境
如果读取失败,readfile()函数会返回FALSE并附带错误信息;我们可以通过在函数名前面添加一个 '@
' 来隐藏错误输出。
verwenden.readfile()
@
Die Verwendung von fread() zum Lesen der gesamten Datei erfordert das Öffnen der Datei, das Berechnen der Größe der gesamten Datei und das Schließen der Datei nach dem Lesen. Gibt es eine einfachere Methode? Die Antwort lautet: Ja, Sie können die Funktion
Schauen wir uns das folgende Beispiel an: rrreee
Ausgabeergebnis:Ist es nicht ganz einfach? Verwenden Sie einfach eine Codezeile „readfile($file);
“, um alle Daten abzurufen Die Datei muss sofort geöffnet oder geschlossen werden, und der Dateiinhalt kann ohne Ausgabeanweisungen wie echo
ausgegeben werden. Werfen wir einen Blick auf die readfile()-Funktion
readfile($filename,$include_path,$context)
Die Funktion liest eine Datei, schreibt sie in den Ausgabepuffer und gibt die Anzahl der aus der Datei gelesenen Bytes zurück. 🎜🎜Diese Funktion akzeptiert 1 erforderlichen Parameter $filename
(gibt den zu lesenden Dateinamen oder Dateipfad an) und 2 ausgelassene Parameter $include_path
und $context. 🎜<ul style="list-style-type: disc;">
<li>🎜<code>$include_path
Parameter: Legen Sie fest, ob Sie in include_path (in php.ini) nach der Datei suchen möchten, Standardeinstellungen auf FALSE setzen; ggf. Parameterwert auf „1“ setzen. 🎜
$context
-Parameter: Legen Sie die Umgebung des Dateihandles fest🎜@
“ hinzufügen. 🎜🎜@
ist ein Fehlerkontrolloperator. Wenn er vor einem PHP-Ausdruck platziert wird, werden alle Fehlerinformationen, die möglicherweise durch den Ausdruck generiert werden, ignoriert. 🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜Grundlegende Bedienung von PHP-Dateien🎜🎜🎜🎜Empfohlen:🎜"🎜Sammlung von PHP-Interviewfragen (Sammlung)🎜" "🎜php-Video-Tutorial🎜"🎜
Das obige ist der detaillierte Inhalt vonSo erhalten Sie alle Daten der Datei gleichzeitig im PHP-Dateibetrieb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!