Ik heb een php script geschreven om form-data naar een txtfile te schrijven maar ik wil dat elke keer als er wat wordt toegevoegd dat dan op een nieuwe regel wordt toegevoegd en niet achterelkaar.
Ik heb geprobeerd een \n toetevoegen maar dan krijg ik zo'n vierkantje...
hoe los ik dat op??
Alvast bedankt...
Probeer eens \r\n ipv \n ?
\n moet wel tussen dubbele quotes volgens mij. Om een of andere reden willen enkelen niet.
\r\n werkt wel bedankt!
\r\n wordt gebruikt op Windows-systemen, die \r staat voor een "carriage return" en de \n voor een "newline".

Dat ze tussen enkele quotes niet geparsed worden klopt, een string welke in PHP tussen enkele quotes staat wordt volledig gezien als tekst. Normaal gesproken gebruik je de backslash (\) als escape karakter, maar tussen enkele quotes wordt die backslash niet als zodanig behandelt.

In grotere systemen is het handig om het karakter voor een newline te definieren als constante, zodat je je script niet volledig door hoeft te lopen als je op een ander platform draait;

<?php
define('NEWLINE', "\r\n"); // Windows
/*
define('NEWLINE', "\n"); // Linux
define('NEWLINE', "\r"); // MacOS?
*/

echo 'Een string altijd tussen enkele quotes'.NEWLINE;
?>
Misschien iets dat niet de juiste manier is, maar bij mij werkt het ook gewoon met harde ENTERS in je broncode.
Is inderdaad niet de netste methode ;)
Remco van Arkelen schreef op 15.09.2005 12:24
Is inderdaad niet de netste methode ;)


Weet je ook waarom? Is het dan alleen compatible met een Windows-systeem?
Ik vind persoonlijk dat de code er niet netter op wordt. Zeker bij omvangrijke scripts is dit zeker niet bevoorderlijk voor de leesbaarheid.

Of het met compatibility heeft te maken durf ik zo niet te zeggen, je zou eens kunnen kijken wat de uitvoer is.
Ik ben bang dat dat niet helemaal waar is remco,
want mijn server draait zeker linux... en alleen "\n" werkte dus niet...
foaly de centaur schreef op 15.09.2005 12:43
Ik ben bang dat dat niet helemaal waar is remco,
want mijn server draait zeker linux... en alleen "\n" werkte dus niet...


Even voor de duidelijkheid. Remco gaf antwoord op mijn vraag en niet op jouw eerste vraag. Dus de vraag met de harde ENTERS en niet de vraag met de \n. :P

Reageren