lire le fichier texte avec séparateur en php
-
21-09-2019 - |
Question
J'ai trois eintries dans un textfile.txt:
20100220
Hello
Here is Text \n blah \t even | and & and so on...
Je veux lire chaque entrie (ligne) comme une nouvelle chaîne en php. Je pensais d'utiliser fopen et fgets. Mais: Depuis que je suis en utilisant des caractères spéciaux comme \ n dans la dernière ligne, fgets () ne fonctionne pas parce qu'il mettra fin à la chaîne à \ n, non? En conséquence, la dernière ligne serait juste « Voici texte ».
Comment puis-je lire / exploser les trois lignes de la bonne façon, de sorte que le \ n dans la dernière ligne serait interprétée comme une chaîne normale? Merci!
p.s. En ayant trois lignes dans mon textfile.txt je choisi indirecte \ n comme délimiteur, mais je pourrais aussi utiliser une autre delimiter. ce qui est juste la meilleure façon de lire le contenu?
La solution
Vous avez deux options:
() pour obtenir un tableau avec un élément pour chaque ligne (séparés par '\ n')
$lines_of_file = file("myfile.txt");
//Now $lines_of_file have an array item per each line
file_get_contents () pour obtenir une seule chaîne vous pouvez diviser par un séparateur que vous voulez
$file_content = file_get_contents("myfile.txt");
$file_content_separated_by_spaces = explode(" ", $file_content);
Autres conseils
Utilisez file()
, qui vous donnera automatiquement une ligne- réseau par ligne:
$rows = file('textfile.txt');
Et même si vous utilisez fgets et tel, vous devriez être en mesure de faire exploser correctement avec "\n"
comme elle est traitée différemment '\n'
littérale.