[php] Regel boven in bestand schrijven

Pagina: 1
Acties:

  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
Ik ben met een gastenboek bezig (ben een php newbie dus het is nog zonder database en wordt dus gewoon weg geschreven in een tekstbestand) verder geen probleem, alleen hoe schrijf ik een bericht op de eerste regel in het bestand weg in plaats van de regel onder het laatste bericht (het nieuwste bericht bovenaan dus)

misschien is dit een simpele vraag of het kan helemaal niet, iedergeval wil het mij niet lukken :)

Verwijderd

Het maakt niet uit dat het bericht onderaan komt, als je ze maar achterstevoren inleest...

Dit doe je met ORDER BY in je ophaal-query

EDIT: ORDER BY DESC om precies te zijn :)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 28-03 23:48

Gerco

Professional Newbie

Hij had nog geen DB...

Maar goed, je hebt gelijk. Je kunt ze gewoon onderaan bijschijven, zolang je ze maar andersom laat zien is er niets aan de hand.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
Het script schrijft het bericht als een lange regel html weg, als ik hem anders om laat lezen gaat dit per regel, alleen niet ieder bericht is één regel waardoor het script compleet in de mist loopt als er meer als één regel is, het andersom in lezen gaat goed totdat er grote of berichten met enters komen....

ik moet dus echt iets hebben waardoor hij het boven aan het bestand wegschrijft

  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
Hier onder het deel wat de regel html incl. bericht ($logit) wegschrijft onderaan het bestand, hoe zorg ik nou dat hij eerst het nieuwe deel, en dan de oude berichten er achter schrijft...

$fp = fopen ("guestbook.txt", "a+");

fwrite ($fp, $logit);

fclose ($fp);

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 31-03 13:37
Dit probleem heb ik opgelost door eerst de file volledig in te lezen in een string.

Daarna het nieuwe bericht aan de voorkant van de string toe te voegen en dan de nieuwe string weer naar de file te schrijven.

Een beetje duur, maar het werkt wel...

Team ColdFusion


Verwijderd

Op dinsdag 11 september 2001 23:05 schreef Gerco het volgende:
Hij had nog geen DB...

Maar goed, je hebt gelijk. Je kunt ze gewoon onderaan bijschijven, zolang je ze maar andersom laat zien is er niets aan de hand.
Aaah, ik ben scheel |:(

Maar het principe klopte :)

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:22
Op woensdag 12 september 2001 11:15 schreef Arnim het volgende:
Dit probleem heb ik opgelost door eerst de file volledig in te lezen in een string.
Het spijt me als ik nu onwijs offtopic doe maar hoe doe je dat? :?

  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
ja hoe doe je dat :)

  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
zou iemand ff een stukje kunnen bouwen waar de inhoud van de file wordt gelezen, en dat deze string samen met de string van het nieuwe bericht tot 1 string wordt gevoegt, het bestand wordt leeggemaakt en de string waar het nieuwe bericht samen met de oude berichten instaat in het bestand wordt weggeschreven :) thx

Verwijderd

Op woensdag 12 september 2001 15:59 schreef ZeTt het volgende:
ja hoe doe je dat :)
zoek op hoe je een file inleest in een variable...

- open de file
- lees hem in ($inhoud) vanuit bestand
- $string die vooraan geplakt moet worden
- $schrijf_weg = $string.$inhoud;
- $schrijf_weg naar het bestand

:?

  • Wietse
  • Registratie: December 2000
  • Laatst online: 30-10-2025

Wietse

¯¯¯¯¯

Topicstarter
hoe wis ik de inhoud van het bestand (anders krijg ik allemaal dubbele berichten)

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:22
*zoekt op hoe je een file inleest in een variable* |:( *blijft doorzoeken*

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:22
code:
1
2
3
4
5
6
7
8
<? 
$bestand = "blaat.txt";
$inhoud = ""; 
$fp = fopen( $bestand,"r"); 
$inhoud = fread($fp, 26 ); 
fclose( $fp );
echo $inhoud;
?>

8-) Thanks man :)

Die '26' in 'fread()' is voor hoeveel leestekens/bytes hij mag lezen neem ik aan. Kan dat ook op oneindig ofzo? :)

K denk dat ik zelf wel met n scriptje kan komen die de goede woorden uitzoekt :)

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 31-03 13:37
Bij Perl (waar ik het destijds in gebouwd heb) is er ook nog een functie waar je uit kan lezen hoe lang de file is... Een dergelijke functie bestaat binnen PHP ook vast wel.

Team ColdFusion


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:22
Jupz, "filesize ($filename));"...
Pagina: 1