Maison >développement back-end >Problème PHP >Comment stocker l'intégralité des données du fichier dans un tableau ligne par ligne en php
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 :
Utilisez file_get_contents(. ) fonction de lecture et de sortie :
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr = file_get_contents($file); echo $filestr; ?>
Le résultat de sortie est
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 = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); var_dump($filearr); ?>
Résultat de sortie :
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 = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); echo $filearr[2]; //数组下标是从0开始的 ?>
输出结果:
下面我们来了解一下里面的关键函数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”,输出会是这样的:
而如果一个文件中包含空行:
使用上例中的代码读取文件,输出结果为:
就可以设置“FILE_SKIP_EMPTY_LINES”来跳过空行,读取下一行数据。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); var_dump($filearr); ?>
输出结果为:
$flags
参数如果设置多个常量值,需要使用|
rrreee
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. 🎜$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!