File append

Résolu
Bonjour,
Pour ajouter un record à un fichier texte j'utilise
$Record="Données à écrire\n";
file_put_contents("File.txt", $Record, FILE_APPEND);
/n sert à ajouter une nouvelle ligne.

Est-ce la bonne méthode ?
Parfois j'ai l'impression que 2 enregistrements successifs ne sont pas séparés par une nouvelle ligne.

5 réponses

  1. Modérateur
    Bonjour,

    Le caractère de fin de ligne dépend de l'OS et du logiciel qui te sert à lire les documents...
    Le plus souvent on va utiliser \r\n
    Tu peux aussi te servir de la constante PHP_EOL

    1. Le fichier est lu en VB6 sous Windows
      Do While Seek(1) < LOF(1)
      Line Input #1, Record
      ...
      Loop
      Que vaut-il mieux utiliser comme caractère(s) de fin de ligne ?
      1. Que vaut-il mieux utiliser comme caractère(s) de fin de ligne : /n, /r/n ou PHP_EOL ?
        1. Modérateur
          As tu regardé dans la notice de php à quoi correspond php_eol ??
          As tu regardé à quoi correspondent les caractères \n et \r ??
      2. Oui :
        PHP_EOL : Le bon symbole de fin de ligne pour cette plateforme. Disponible depuis PHP 5.0.2
        /n = new line = chr(10)
        /r = carriage return = chr(13)

        Ceci ne répond toutefois pas à ma question : lequel est-il préférable d'utiliser sachant que je lis le fichier avec VB6 Line Input.
        1. PHP_EOL ne fonctionne pas : si j'écris 2 lignes en php puis que je les lis en VB6 ou avec Notepad elles se retrouvent à la suite l'une de l'autre sur la même ligne.
          Finalement ce qui semble fonctionner est "\r\n".