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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top