Gå til innhold

Legge innhold av variabler i en txt-fil?


Anbefalte innlegg

Supert forum. Jeg har nettopp begynnt å sette meg litt inn i PHP og har funnet masse god info på dette forumet.

 

Jeg lager en hjemmeside med et gjestebokscript (PHP) jeg har funnet på nettet. Jeg vil at siste innlegg i gjesteboka skal kopieres og legges på førstesiden. Dette har jeg fått til ved å skrive variablen $comments til en fil lastentry.txt.

 

Innholdet i fila slettes når ny tekst blir skrevet til den, slik at siste innlegg alltid er det eneste som er i fila.

 

Innholdet i lastentry.txt inkluderer jeg så der jeg vil ha det med include.

 

Koden ser slik ut:

$LastEntryName = "lastentry.txt";
$LastEntryHandle = fopen($LastEntryName, 'w') or die("Kan ikke åpne filen!");
fputs($LastEntryHandle,$comments);
fclose($LastEntryHandle);

 

Så spørsmålet:

Hvordan kan jeg få med navnet på den som har skrevet sist i gjesteboka dersom navnet ligger i variablen $name slik at det blir seende omtrent slik ut:

 

Kåre skriver:

Hei, tøff side du har laget... bla bla bla.

 

eller:

 

$name skriver:

$comments

 

Noen som skjønner hva jeg mener og som vil gi meg noen hint?

Lenke til kommentar
Videoannonse
Annonse

Du kan f.eks skrive akkurat det du vil ha til filen:

$filecontent = "$name skriver:\n$comments";

Også skriver du bare variabelen $filecontent til filen, istedetfor $comments, hvis skjønner hva jeg mener...

 

EDIT: Og når du skal skrive det ut, kan du bruke funksjonen nl2br()

 

/k

Endret av kakkle
Lenke til kommentar

Hei, takk for hjelpen. :thumbup:

 

Dessverre ser det ikke ut til at jeg får det til i det hele tatt nå :no:

 

Jeg tror jeg skjønte hva du mente, og har gjort slik:

$filecontent = "$name skriver:\n $comments";
$LastEntryName = "lastentry.txt";
$LastEntryHandle = fopen($LastEntryName, 'w') or die("Kan ikke åpne filen!");
fputs($LastEntryHandle,$filecontent);
fclose($LastEntryHandle);

 

Når jeg åpner lastentry.txt ser jeg at det er blitt skrevet til den slik jeg ønsket, og så langt fungerer det jo helt supert.

 

Men der jeg vil ha dette innholdet der står det nå bare "Array"??

 

Kan det ha noe med at jeg i stedet for å legge innholdet direkte der jeg vil ha det, istedet legger det i en php-fil lastbook.php??

 

lastbook.php:

<?php

$file = file("http://home.no.net/crappage/lastentry.txt"); 
echo nl2br($file);

?>

 

Jeg inkluderer deretter lastbook.php der jeg vil ha den.. men der står det nå altså bare "Array"??

 

Er det litt tungvindt å gjøre det slik, eller er det noe annet jeg gjør feil?

Lenke til kommentar

Det er fordi funksjonen file() henter hver linje i filen, og legger det i et array. Slik at $file[0] = 1. linje, $file[1] = 2.linje osv...

Du kan heller bruke file_get_contents(), som henter hele innholdet av filen.

Sett dette inn i lastbook.php:

<?php

$file = file_get_contents("http://home.no.net/crappage/lastentry.txt");
echo nl2br($file);

?>

Dersom dette ligger på samme server, så trenger du heller ikke å skrive hele adressen med http://...

 

Jeg anbefaler deg ellers å se på filsystem funksjonene på php.net

Der har du oversikt over alle filsystem funksjonene som er i php. Ta deg litt tid og se litt rundt der, så lærer du nok mye av bare å se på eksempler.

 

EDIT: la inn link på file() funksjonen også

 

/K

Endret av kakkle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...