Partyflock
 
Forumonderwerp · 639437
86x bekeken
Waarschuw beheerder
donateur
Hey, ik heb het volgende scriptje:
<?php

$return = chr(13);
$datum = date("d,m,y");
$Bufferfile = "bufferfile.txt";
$open = fopen($Bufferfile, a);

if($open)
{
fwrite($open, "$return$datum\t$KLANT_NR\t\t$ART_NR\t\t$AANTAL"); fclose($open); print("Gegevens succesvol toegevoegd!");
}
else
{
print("Bestand \"$Bufferfile\" bestaat niet of kan niet geopend worden.");
}
print("<p>&nbsp</p>");
print("<a href=\"index.html\">Terug</a>");

?>


Mijn vraag het volgende:
Het scriptje zorgt ervoor dat er een paar variabelen uit een form op een andere pagina worden weggeschreven in een bestand.
Elke keer als er een regel bij is geschreven moeten de volgende gegevens op een nieuwe regel komen.
Maar \n werkte niet, met \n worden de nieuwe gegevens gewoon achteraan de vorige geplaatst.
Toen heb ik geprobeerd een carriage return in een variabele te plaaten ($return = chr(13) maar ook dit mocht niet baten.

Kan iemand mij hier bij helpen?
Waarschuw beheerder
<?php

$datum = date("d,m,y");
$bufferfile = "bufferfile.txt";
$open = fopen($bufferfile, "a");

if($open) {
fwrite($open, "$return$datum\t$KLANT_NR\t\t$ART_NR\t\t$AANTAL\r\n");
fclose($open);
print("Gegevens succesvol toegevoegd!");
}
else
{
print("Bestand \"$bufferfile\" bestaat niet of kan niet geopend worden.");
}
print("<p>&nbsp</p>");
print("<a href=\"index.html\">Terug</a>");

?>


Probeer dit eens. Tips: de "a" in de methode fopen moet dus tussen aanhalingstekens staan. Bovendien kan je gewoon een carriage return en newline ("\r\n") erachter zetten in de fwrite() methode.

Bovendien alle commando's op een nieuwe regel, wel zo netjes.
laatste aanpassing
Waarschuw beheerder
Laatste hint, "\r\n" is een nieuwe regel voor Windows/Dos systemen, onder linux is het meen ik slechts "\n".
Waarschuw beheerder
donateur
de commandos staan allemaal op niewe regel kwam door forum dat het er iets vager uitziet...

Maar het werkt wel hoor (\r\n) thanks loads !!!

groetjes
*edit:
het rare was dat het met \n alleen werkte als ik het txt bestand met IE opende, in kladblok stond er een blokje
maar goed return en newline werkt wel goed :)
laatste aanpassing
Waarschuw beheerder
Sommige editor's behandelen het verschillend, Unix style of Dos style. Een programma als UltraEdit zal je ook vragen of je het om wil zetten naar DOS formaat. \r\n is dus Dos, \n is Unix.
Waarschuw beheerder
donateur
Wanneer ik wat programmeer in c++ in een DOS omgeving werkt \n ook gewoon, maar zoals je zegt het ligt gewoon aan die editor denk ik.