[php] fwrite en regeleinde

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Nu online
Ik had een raar probleem met fwrite. Ik zal eerst een stukje code geven en dan uitleggen wat ik niet snqp
PHP:
1
2
3
4
5
6
$handle = fopen ("data/backup/$datum.csv", "a+");
fwrite ($handle, "voornaam;tussenvoegsel;achternaam\n");
[.. data die uit mysql database wordt gehaald..]
while data niet op is {
fwrite ($handle, "$voornaam;$tussenvoegsel;$achternaam");
}

Zoals jullie kunnen zien is dit een stukje code dat ik gebruikte om data uit een mysql database te halen en in een csv te zetten. Hij werkt nu goed.

Maar, het rare is dat als ik achter de 2e keer fwrite (waar de data wordt weggeschreven) ook \n zet, wat ik dacht dat nodig was om zo op een nieuwe regel te beginnen, gaat hij lege regels invoegen...
Het lijkt er dus op dat als je fwrite aanroept hij sowieso al op een nieuwe regel begint. Maar, als ik de \n in de eerste keer fwrite weg laat dan schrijft hij bij die regel wel gewoon verder...

Van de ene kant ben ik blij dat mijn script nu goed werkt :) van de andere kant heb ik het idee dat het toch niet helemaal goed gecode is... Kan iemand verklaren wat er gebeurt?

(het gaat om een linux server)
edit:
layout

[ Voor 23% gewijzigd door pietje63 op 04-08-2003 21:36 . Reden: fwrite wat korter gemaakt voor layout ]

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Nu online
fwrite zal niet zomaar newlines invoegen. Heb je niet toevallig newlines in je database staan?

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Nu online
Nee, in mijn database staan zeker geen newlines.
Normaaal haalt hij nog iets meer uit de database met als laatste een paswoord en hij zet verder alles goed neer.
De lege regels hebben ook geen ; tekens voor het scheiden dus is ook niet een aanroep van fwrite met lege variable.
Als ik de backup "toevoeg" aan de huidige dabase en dan weer backup naar csv dan krijg ik 1 witregel in het oude stuk en 3 in het nieuwe

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
en als je de data die je uit je database haalt in een var zet en die trimt alvorens je 'm wegschrijft met fwrite? (dus met trim() )
ik gok dat ie dan alles weer achter elkaar zet

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Nu online
marty schreef op 04 August 2003 @ 22:19:
en als je de data die je uit je database haalt in een var zet en die trimt alvorens je 'm wegschrijft met fwrite? (dus met trim() )
ik gok dat ie dan alles weer achter elkaar zet
Goed gegokt _/-\o_ kun jij misschien ook verklaren waarom dat wel werkt?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
pietje63 schreef op 04 August 2003 @ 22:25:
[...]

Goed gegokt _/-\o_ kun jij misschien ook verklaren waarom dat wel werkt?
er zit stiekum toch een regeleinde in die string die je uit de db trekt :)

ik weet niet hoe je het in de database stopt...als je persee wilt weten waar het aan ligt zou je gewoon ff wat moeten echoën/wegschrijven hier en daar

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Nu online
marty schreef op 05 August 2003 @ 00:44:
[...]


er zit stiekum toch een regeleinde in die string die je uit de db trekt :)

ik weet niet hoe je het in de database stopt...als je persee wilt weten waar het aan ligt zou je gewoon ff wat moeten echoën/wegschrijven hier en daar
eeeh, tenzij de md5 encode van een ELK paswoord op het laatst \ heeft weet ik zeker dat er geen regeleinde

Ik ga het morgen wel even uitproberen of het in andere gevallen ook zo gaat.

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Ik heb het zelf ook even getest, maar als ik iets via een php-script invoeg (zoiets als voornaam, achternaam, etc) en vervolgens er weer uit trek en wegschrijf naar een file worden er geen regeleinden aan toegevoegd hoor. Het zal dus toch te maken hebben met de manier waarop jij het wegschrijft in de DB.
Kan eventueel het testscriptje wel posten als je wilt.
Pagina: 1