/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Skriv til fil <-> hent fra fil.
Fra : Michel Komischke


Dato : 18-12-02 13:10

Hej.
Jeg er ved at arbejde på at bygge en tagwall og en blog på samme side.

Jeg har absolut intet begreb om PHP, men jeg vil gerne lave tagwallen på den
måde at der foroven er eksisterende postings, og for neden er 2
indtastningsfelter (navn og tag) og en submit-knap i en form.

Nu kommer vi så til essensen.. Jeg vil gerne have at når man trykker på
submit bliver felt1 (tag) skrevet i en fil på serveren, og sider reloader.

Dvs. at der i øverste del er alle de indlæg der er blevet skrevet i filen
indtil videre.

... Jeg har lavet et design-eksempel til det på www.leet.dk/beta/ i html -
men det viser hvordan jeg kunne tænke mig det.

Så det korte af det lange er at jeg skal bruge en funktion til at skrive til
filen og en funktion til at trække indholdet af filen..

Har jeg forklaret mig selv godt nok?

Pft

--
Michel Komischke
Administrator / Maintainer
www.leet.dk



 
 
Mads Jensen (18-12-2002)
Kommentar
Fra : Mads Jensen


Dato : 18-12-02 18:00

> Så det korte af det lange er at jeg skal bruge en funktion til at skrive
til
> filen og en funktion til at trække indholdet af filen..
>
> Har jeg forklaret mig selv godt nok?

Ja, og du har svaret, manualen giver dig svar på (næsten) alle mulige
tænkelige svar =
http://dk.php.net/fopen åbner fil
http://dk.php.net/fputs skriver i fil

/Mads





Michel Komischke (20-12-2002)
Kommentar
Fra : Michel Komischke


Dato : 20-12-02 00:19

"Mads Jensen" <astrup_jensen.NOSPAM@hotmail.com> skrev i en meddelelse
news:atq9hq$9rj$1@sunsite.dk...

> http://dk.php.net/fopen åbner fil
> http://dk.php.net/fputs skriver i fil

Jeg arbejder lige nu med write som jeg fandt samme sted :)

Jeg er dog stødt på et problem.. eller rettere 2.

Altså det virker fint med at skrive til filen.

Men jeg skulle gerne have den til at indsætte det øverst i filen - ikke
nederst.

Desuden har jeg

<?php
$filename = 'blog.html';
$somecontent = "test";

hvor $somecontent bliver skrevet til $filename ...
det er i og for sig fint, men $somecontent skulle gerne være det der står i
en indtastningsbox længere nede på side.

Altså når man trykker Submit skal den give indtastningsfeltets data værdien
$somecontent.. eller, nej.. nu roder jeg rundt i det igen..

Forstår I hvad det er jeg vil?



Niels Andersen (20-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 20-12-02 00:23

Michel Komischke wrote in <3e0253f5$0$212$edfadb0f@dread14.news.tele.dk>:
> Men jeg skulle gerne have den til at indsætte det øverst i filen - ikke
> nederst.

Det kan ikke lade sig gøre direkte. Men man kan:

1) Indlæse hele filen til hukommelsen
2) Skrive tilføjelsen først i filen
3) Skrive den "gamle" fil fra hukommelsen efter tilføjelsen.

> <?php
> $filename = 'blog.html';
> $somecontent = "test";
>
> hvor $somecontent bliver skrevet til $filename ...
> det er i og for sig fint, men $somecontent skulle gerne være det der står
> i en indtastningsbox længere nede på side.

<input type="text" name="somecontent" value="$somecontent">

?

> Altså når man trykker Submit skal den give indtastningsfeltets data
> værdien $somecontent.. eller, nej.. nu roder jeg rundt i det igen..
> Forstår I hvad det er jeg vil?

Nej, ikke når du roder rundt i det.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Michel Komischke (20-12-2002)
Kommentar
Fra : Michel Komischke


Dato : 20-12-02 00:54

"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:txsM9.7597$Hl6.873870@news010.worldonline.dk...

> Det kan ikke lade sig gøre direkte. Men man kan:
>
> 1) Indlæse hele filen til hukommelsen
> 2) Skrive tilføjelsen først i filen
> 3) Skrive den "gamle" fil fra hukommelsen efter tilføjelsen.

Dette er første gang jeg arbejder med PHP .. kan det evt. udspecificeres? ;)

> <input type="text" name="somecontent" value="$somecontent">

det vil jeg prøve :)

> Nej, ikke når du roder rundt i det.

Okay, se hvad jeg har lavet på www.leet.dk/test/
Koden er på www.leet.dk/test/index.txt om få minutter .. så kan du evt se
ideen.. jeg ved det ikke..

Men meningen er at jeg har

****************************************
___________________________
20/12 | 12:34 | PETER PAN
___________________________
INDLÆG INDLÆG INDLÆG INDLÆG
___________________________
___________________________
20/12 | 12:34 | PETER PAN
___________________________
INDLÆG INDLÆG INDLÆG INDLÆG
___________________________
___________________________
20/12 | 12:34 | PETER PAN
___________________________
INDLÆG INDLÆG INDLÆG INDLÆG
___________________________

___________________________
indtastningsfelt til navn
indtastningsfelt til indlæg
submit-knap

****************************************

Og når man så trykker på submit knappen sender mit php navn, indlæg samt
tiden og datoen (uden at man skal indtaste den) til den fil der er for oven
(blog.php) ...

er det forståeligt?

--
Michel Komischke
Administrator / Maintainer
www.leet.dk



Niels Andersen (20-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 20-12-02 02:36

Michel Komischke wrote in <3e025c1a$0$168$edfadb0f@dread14.news.tele.dk>:
> Dette er første gang jeg arbejder med PHP .. kan det evt. udspecificeres?
> ;)

OK da. :)
Men kun fordi jeg trænger til en pause fra arbejdet.

>> 1) Indlæse hele filen til hukommelsen

$temp = join('',file('fil.txt'));

En nem, men ikke så gennemskuelig for begyndere, og ikke særligt effektiv
måde.
Snart (næste release?) kan man gøre sådan her i stedet:
$temp = file_get_contents('fil.txt');
Set det er jo til at forstå.

>> 2) Skrive tilføjelsen først i filen

Ligesom du gør nu (fopen, fwrite, fclose), bare med "w" i stedet for "a".
Append: Åben filen til skrivning, med "pointeren" i slutningen af filen.
Write: Åben filen til skrivning, med "pointeren" i starten af filen.

>> 3) Skrive den "gamle" fil fra hukommelsen efter tilføjelsen.

Inden fclose kører du lige en fwrite mere. Der skriver du bare $temp i
stedet for $somecontent.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste