web-dev-qa-db-fra.com

PHP la nouvelle ligne ne fonctionne pas dans le fichier texte

J'utilise le code PHP:

$numberNewline = $number . '\n';
fwrite($file, $numberNewline);

écrire $ number dans un fichier.

Pour une raison quelconque,\n apparaît dans le fichier. Je suis sur un mac. Quel pourrait être le problème?

25
JJJollyjim
$numberNewline = $number . "\n";
fwrite($file, $numberNewline);

Essaye ça

37
borayeris

'\n' entre guillemets simples est un \n littéral.
"\n" entre guillemets est interprété comme un saut de ligne.

http://php.net/manual/en/language.types.string.php

53
deceze

Si l'insertion de "\ n" ne donne aucun résultat, vous pouvez également essayer "\ r\n" qui ajoute un "retour chariot" et une "nouvelle ligne".

31
Serge Stepanov

Utilisez PHP_EOL . PHP_EOL est indépendant de la plate-forme et constitue une bonne approche. 

$numberNewline = $number .PHP_EOL;
fwrite($file, $numberNewline);

PHP_EOL est compatible avec toutes les plateformes (DOS/Mac/Unix).

20
vineet

La raison pour laquelle vous ne voyez pas de nouvelle ligne est que les fichiers .txt écrivent ses données comme une pile. Il commence à écrire à partir du début, puis une fois terminé, la ligne clignotante (celle qui indique où votre prochain personnage va aller) revient au début. Donc, votre "\ n" doit partir au début.

Au lieu d'écrire:

<?php
     $sampleLine = $variable . "\n";
     $fwrite($file, $sampleLine);
?>

Vous devriez écrire:

<?php
     $sampleLine = "\n" . $variable;
     $fwrite($file, $sampleLine);
?>
1
Jessica

Tout ce qui précède n’a pas fonctionné pour moi, mais c’était si simple: voici le code ....__, veuillez utiliser la méthode KISS. 

echo file_put_contents("test.txt","\r\n \r\n$name \r\n$email \r\n$phone", FILE_APPEND);

Il définit une nouvelle ligne vide, puis ajoute une ligne à la fois.

0
Karl Rapson

$ numberNewline = $ number. '\ r\n'; 

fwrite ($ file, $ numberNewline);

Essaye ça 

0
ketan chaudhari