Maison  >  Article  >  développement back-end  >  Comment stocker l'intégralité des données du fichier dans un tableau ligne par ligne en php

Comment stocker l'intégralité des données du fichier dans un tableau ligne par ligne en php

青灯夜游
青灯夜游original
2021-08-06 16:11:103813parcourir

Dans l'article précédent, nous vous avons présenté et présenté une méthode de lecture de l'intégralité du fichier en une seule fois, et cette méthode peut stocker le contenu lu dans une chaîne. Si vous êtes intéressé, vous pouvez cliquer sur " Comment stocker toutes les données. d'un fichier dans une chaîne en php》View. Ce qui suit continue de présenter la méthode de lecture de l'intégralité du fichier en une seule fois.

La méthode de l'article précédent affichera tout le contenu du fichier sur une seule ligne. Il est préférable que les données du fichier soient inférieures. Si les données du fichier sont trop nombreuses, par exemple :

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

Utilisez file_get_contents(. ) fonction de lecture et de sortie :

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filestr = file_get_contents($file);
echo $filestr;
?>

Le résultat de sortie est

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

On peut voir que le contenu de sortie n'est pas propice à la lecture. Alors, comment pouvons-nous afficher l’intégralité du contenu du fichier ligne par ligne ? Vous pouvez utiliser des tableaux.

Vous pouvez lire l'intégralité du fichier en une seule fois et stocker les données dans le tableau ligne par ligne. Chaque ligne de données correspond à un élément du tableau.

Jetons un coup d'œil au code suivant :

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
var_dump($filearr);
?>

Résultat de sortie :

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

Est-il facile à lire, et parfois vous devez lire l'intégralité du contenu, mais vous n'avez besoin que d'une seule ligne de données pour le moment étant donné, vous pouvez utiliser Array name[subscript] pour obtenir les données de la ligne spécifiée. Par exemple, si vous souhaitez la troisième ligne de données, vous pouvez : 数组名[下标] 的形式来取指定行的数据。例如想要第三行的数据,那么可以:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
echo $filearr[2];  //数组下标是从0开始的
?>

输出结果:

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

下面我们来了解一下里面的关键函数file()

file($filename,$flags,$context)函数接受一个必需参数$filename(要读取的文件),两个可省略的参数$flags$context(文件句柄的环境)。

但一般还是会设置$flags参数的,该参数可以是以下一个或多个常量:

  • FILE_USE_INCLUDE_PATH:在 include_path (在 php.ini 中)中查找文件,默认为 FALSE;如果想,则设置参数值为 '1'。

  • FILE_IGNORE_NEW_LINES:在数组每个元素的末尾不要添加换行符;

  • FILE_SKIP_EMPTY_LINES:跳过空行。

例如上例,如果省略“FILE_IGNORE_NEW_LINES”,输出会是这样的:

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

而如果一个文件中包含空行:

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

使用上例中的代码读取文件,输出结果为:

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

就可以设置“FILE_SKIP_EMPTY_LINES”来跳过空行,读取下一行数据。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
var_dump($filearr);
?>

输出结果为:

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

$flags参数如果设置多个常量值,需要使用|rrreee

Résultat de sortie :

Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php

Jetons un coup d'œil à la fonction clé file(). La fonction file($filename,$flags,$context) accepte un paramètre obligatoire $filename (le fichier à lire) et deux paramètres omis $ flags et $context (l'environnement du descripteur de fichier). Mais généralement, le paramètre $flags est toujours défini, qui peut être une ou plusieurs des constantes suivantes :

FILE_USE_INCLUDE_PATH : recherchez les fichiers dans include_path (dans php.ini), la valeur par défaut est FALSE si vous le souhaitez, définissez la valeur du paramètre sur "1".

  • 🎜FILE_IGNORE_NEW_LINES : N'ajoutez pas de caractère de nouvelle ligne à la fin de chaque élément du tableau 🎜
  • 🎜FILE_SKIP_EMPTY_LINES ; > : Sauter la ligne vide. 🎜
  • 🎜Par exemple, dans l'exemple ci-dessus, si "FILE_IGNORE_NEW_LINES" est omis, le résultat ressemblera à ceci : 🎜🎜Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php🎜🎜Et si un fichier contient des lignes vides : 🎜🎜Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php🎜🎜Utilisez le code dans l'exemple ci-dessus pour lire le fichier, le résultat de sortie est : 🎜🎜🎜 Comment stocker lintégralité des données du fichier dans un tableau ligne par ligne en php 🎜🎜 peut être défini sur "FILE_SKIP_EMPTY_LINES" pour ignorer les lignes vides et lire la ligne de données suivante. 🎜rrreee🎜Le résultat de sortie est : 🎜🎜7 . png🎜🎜Paramètre $flags. Si vous définissez plusieurs valeurs constantes, vous devez utiliser | pour les séparer. 🎜🎜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