Saut de ligne ne fonctionne pas lors de l'écriture dans un fichier texte en PHP
J'ai le script de test suivant:
<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Floppy Jalopy\n";
fwrite($fh, $stringData);
$stringData = "Pointy Pinto\n";
fwrite($fh, $stringData);
fclose($fh);
?>
lors de l'exécution, cependant, et ouvert avec le bloc-notes, les données sont renvoyées dans une seule ligne, sans les pauses:
Disquette Bagnole(crazy box)Pointu
Pinto(crazy box)
où je ne peux pas trouver le caractère approprié de "crazy box", mais son VRAIMENT un fou de la boîte. CE QUI DONNE UN!
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez ouvrir le fichier dans le bloc-notes Windows, vous devez utiliser Windows sauts de ligne:
\r\n
\n
ou\r\n
, comme beaucoup d'autres éditeurs, mais le bloc-notes est maussade.Il est préférable d'utiliser
PHP_EOL
. C'est multi-plateforme, il choisit automatiquement le bon caractère de saut de ligne(s) pour la plate-forme PHP est actuellement en cours d'exécution sur.Les Constantes PHP
PHP_EOL
si les fichiers sont toujours à être utilisés sur la même plate-forme que le script s'exécute. Dans mon expérience, la plupart du temps, vous créez des fichiers à télécharger, e-mail ou analysées plus tard - tous les cas où vous avez besoin de fichiers avec un certains caractère de saut de ligne et non pas celui de la plate-forme le script arrive à courir sur.Votre code fonctionne très bien.
Utilisation Notepad2 ou Notepad++ si vous travaillez sur Windows. L'intégré dans le bloc-notes est pas en mesure de faire face avec style Unix, les fins de ligne.
. PHP_EOL; fonctionnera universellement