[PHP] news script

Pagina: 1
Acties:

  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
Hoi tweakertjes

Ik ben een klein simpel news scriptje aan het maken.
Ik heb een .dat file die alle posts bijhoudt.

een vereenvoudigde versie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
news posten (via een form): 
<?
$file = fopen("news.dat","a+"); //add text at the top of a file
fputs($file, "$subject : $message \n");
fclose($file);
?>

news bekijken:
<?
$file = 'news.dat';
$fp = fopen($file,'r');
$info = fread($fp, filesize($file));
$info = nl2br($info);
ECHO "$info";
ECHO "\n";
?>

Nu is het probleem dat de news posts in verkeerde volgorde onder elkaar worden opgeslagen. De nieuwe posts komen steeds onderaan de oudere posts |:(

Kan iemand mij even in de goede richting schoppen?

BTW: ik ben nogal vrij n00bish op het gebied van php.

  • blackd
  • Registratie: Februari 2001
  • Niet online
http://www.php.net/manual/en/function.fopen.php
Vergelijk:
'a+' - Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
'r+' - Open for reading and writing; place the file pointer at the beginning of the file.

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Verwijderd

je kan $file in een array stoppen, vervolgens de array sorteren en dan echo-en.

Dus je moet even zoeken op: array (dan staan daar ook sorteerfuncties bij).

succes

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

pas op dat bij r+ de huidige data die aan het begin staat gewoon wordt overschreven. De enige manier is om het hele bestand in te lezen, je nieuwe nieuws weg te schrijven en vervolgens weer het oude nieuws erachter te schrijven.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
r+ overschrijft de eerste regel
edit:
ik moet sneller typen

  • Grum
  • Registratie: Juni 2001
  • Niet online
fopen
fread(filsize)
fseek
fwrite(nieuwe)
fwrite(oude)
fclose

klaar

Verwijderd

usernote bij fopen op php.net, niet getest door mij verder hoor...
PHP:
1
<?$fp = fopen ("php.txt", "aw");$fputs ($name, $date, $title, $news);fclose ($fp);?>

This simply will take variables and write them into the *top* of a text
file without deleting any of the origional text.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:44
Op woensdag 15 mei 2002 13:51 schreef zellufs het volgende:
This simply will take variables and write them into the *top* of a text
file without deleting any of the origional text.
Helaas, zelfs afgezien van de ongelooflijke berg fouten in die paar regels code werkt het niet. De tekst komt gewoon aan het einde te staan, zelfs als de filepointer nog expliciet aan het begin van het bestand wordt gezet.

  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
ok thx dudez!
ik kan weer even verder :9

Verwijderd

Op woensdag 15 mei 2002 14:15 schreef Soultaker het volgende:

[..]

Helaas, zelfs afgezien van de ongelooflijke berg fouten in die paar regels code werkt het niet. De tekst komt gewoon aan het einde te staan, zelfs als de filepointer nog expliciet aan het begin van het bestand wordt gezet.
Heb het zelf ook niet bedacht hè... :) Ik vonnet al gek dat er zoveel mensen over zouden vallen als het zo makkelijk was... ik lees zelf altijd het bestand in met file dan draai ik heel het array om... met array_reverse()...

edit:
Bij het uitlezen dan... En meestal werk ik met een DB...

  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
Op woensdag 15 mei 2002 13:51 schreef zellufs het volgende:
usernote bij fopen op php.net, niet getest door mij verder hoor...
PHP:
1
<?$fp = fopen ("php.txt", "aw");$fputs ($name, $date, $title, $news);fclose ($fp);?>

This simply will take variables and write them into the *top* of a text
file without deleting any of the origional text.
de output is net hetzelfde als bij fopen ("php.txt", "a+"); :'(

  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
kan iemand me even op weg helpen om mijn txt file in een array te dumpen?
ik weet niet hoe ik er moet aan beginnen |:(

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

In de manual bij de file functies. Daar moet je beginnen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

met file() lees je een file in een array.
Als je em dan tegengesteld uitleest;
PHP:
1
<?for($i=count($arraytje);$i>=0;$i--){$i // hier kun je de code zetten}?>

En je leest em uit zoals je wou...

  • Arioch
  • Registratie: Maart 2002
  • Laatst online: 10-07 18:08
Op donderdag 16 mei 2002 00:00 schreef Tizzwat het volgende:
met file() lees je een file in een array.
Als je em dan tegengesteld uitleest;
PHP:
1
<?for($i=count($arraytje);$i>=0;$i--){$i // hier kun je de code zetten}?>

En je leest em uit zoals je wou...
BIG THX !! :*

Verwijderd

Op donderdag 16 mei 2002 17:47 schreef Bl4cKH4T het volgende:
BIG THX !! :*
Graag gedaan..
Pagina: 1