Maison >développement back-end >tutoriel php >Comment obtenir toutes les données du fichier en même temps dans l'opération de fichier php

Comment obtenir toutes les données du fichier en même temps dans l'opération de fichier php

青灯夜游
青灯夜游original
2021-08-05 15:41:505237parcourir

Dans l'article précédent "Opération sur les fichiers php - lecture des fichiers ligne par ligne", nous avons présenté la méthode de lecture des fichiers ligne par ligne, puis à l'aide de boucles, nous pouvons obtenir toutes les données du fichier. Alors si vous n’utilisez pas de boucle, comment récupérer toutes les données du fichier ? Cet article vous présentera comment obtenir toutes les données d'un fichier à la fois sans utiliser de boucles.

Il existe de nombreuses façons de lire toutes les données d'un fichier à la fois en PHP. Aujourd'hui, nous allons principalement découvrir les deux fonctions fread() et readfile().

Nous avons un fichier texte nommé "test.txt", dont le contenu est :

Comment obtenir toutes les données du fichier en même temps dans lopération de fichier php

Tout d'abord, comprenons la fonction fread() et regardons l'exemple suivant :

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
$handle = fopen($file, &#39;r&#39;);                 //打开文件
$contents = fread($handle, filesize($file));    //读取文件内容
echo $contents;
fclose($handle);//关闭文件
?>

Résultat de sortie :

Comment obtenir toutes les données du fichier en même temps dans lopération de fichier php

On voit que tout le contenu du fichier "test.txt" est sorti.

En fait, la fonction de fread($handle,$length) est de lire le fichier ouvert $handle et de spécifier la longueur des caractères de $length caractères. Mais lorsque la valeur du paramètre $length est spécifiée comme "<code>filesize($file)", alors toutes les données du fichier entier peuvent être lues. Le rôle de la fonction filesize() est d'obtenir la taille du fichier, et le rôle de la fonction fread() est de lire l'intégralité du fichier. 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);    //读取文件内容
?>

输出结果:

Comment obtenir toutes les données du fichier en même temps dans lopération de fichier php

是不是很简单,直接使用一行代码“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并附带错误信息;我们可以通过在函数名前面添加一个 '@' 来隐藏错误输出。

@

Utiliser fread() pour lire l'intégralité du fichier nécessite d'abord d'ouvrir le fichier, de calculer la taille de l'intégralité du fichier, puis de fermer le fichier après la lecture. Existe-t-il une méthode plus simple ? La réponse est oui, vous pouvez utiliser la fonction
readfile()

. Regardons l'exemple suivant :

rrreee

Résultat de sortie : Comment obtenir toutes les données du fichier en même temps dans lopération de fichier phpN'est-ce pas très simple ? Utilisez simplement une ligne de code "readfile($file);" pour obtenir toutes les données de le fichier à la fois ; non Le fichier doit être ouvert ou fermé, et le contenu du fichier peut être affiché sans utiliser d'instructions de sortie telles que echo. Jetons un coup d'œil à la

fonction readfile()🎜. 🎜🎜readfile($filename,$include_path,$context)La fonction lit un fichier et l'écrit dans le tampon de sortie, et renvoie le nombre d'octets lus dans le fichier. 🎜🎜Cette fonction accepte 1 paramètre obligatoire $filename (spécifie le nom du fichier ou le chemin du fichier à lire), et 2 paramètres omis $include_path et $context. 🎜 Paramètre <ul style="list-style-type: disc;"> <li>🎜<code>$include_path : Définissez si vous souhaitez rechercher le fichier dans include_path (dans php.ini), valeurs par défaut sur FALSE ; si vous le souhaitez, définissez la valeur du paramètre sur « 1 ». 🎜
  • 🎜Paramètre $context : Définissez l'environnement du handle de fichier🎜
  • 🎜Si la lecture échoue, la fonction readfile() retournera FALSE avec une information d'erreur ; nous pouvons masquer la sortie d'erreur en ajoutant un '@' devant le nom de la fonction. 🎜
    🎜@ est un opérateur de contrôle d'erreur Lorsqu'il est placé avant une expression PHP, toute information d'erreur pouvant être générée par l'expression sera ignorée. 🎜🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Fonctionnement de base des fichiers PHP🎜🎜🎜🎜Recommandé :🎜"🎜Collection de questions d'entretien PHP (collection)🎜" "🎜Tutoriel vidéo PHP🎜"🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn