/ 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
Problemer med flere der skriver til samme ~
Fra : Michael


Dato : 24-02-03 17:59

Hej der NG.

Jeg er igang med at lave et "tool" der kan gennerere en html side, f.eks.
til brug på en nyhedsite, eller lign.
Mit problem er det, at når man sidder og "designer" ens side, bliver al
dataen omkring de forskellige ting gemt i en .txt fil, hver gang brugeren
ændre på noget går den ind og læser en del fra .txt filen, finder det der
skal ændres og smider det tilbage i .txt filen.
Det fungere også okj, så længe man ikke kommer til at trykke flere gange på
et link der ændre noget i tekstfilen, for så sætter den tomme linjer ind,
hvilket får scriptet til at gå amok!

Er det muligt at lave det sådan at der kun kan være et script igang med at
læse/skrive til/fra en bestemt fil, sådan at alle andre scripts der prøver
at skrive/læse fra filen bliver sat på holdt indtil det scripts som er igang
med filen er færdig??

Jeg håber virkelig der er nogen der kan hjælpe mig!

// Claw



 
 
Nezar Nielsen (24-02-2003)
Kommentar
Fra : Nezar Nielsen


Dato : 24-02-03 19:07

Michael wrote in msg <news:<3e5a4f41$0$24675$ba624c82@nntp02.dk.telia.net>>:

>
> Er det muligt at lave det sådan at der kun kan være et script igang med at
> læse/skrive til/fra en bestemt fil, sådan at alle andre scripts der prøver
> at skrive/læse fra filen bliver sat på holdt indtil det scripts som er
> igang med filen er færdig??

Du kan prøve at låse den: http://dk.php.net/flock

--
Mvh. Nezar Nielsen

Nano - Advanced Simplicity
http://www.nano.dk/

Thomas Lindgaard (24-02-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 24-02-03 19:36

"Michael" <kinguru@mail1.stofanet.dk> wrote in
news:3e5a4f41$0$24675$ba624c82@nntp02.dk.telia.net:

> Mit problem er det, at når man sidder og "designer" ens side, bliver
> al dataen omkring de forskellige ting gemt i en .txt fil, hver gang
> brugeren ændre på noget går den ind og læser en del fra .txt filen,
> finder det der skal ændres og smider det tilbage i .txt filen.

Øhm... den skal jeg vist lige have igen i langsom gengivelse :)

Skal det forstås sådan at din administrator-bruger kan redigere skabelonen
for et givent site i f.eks. et textarea og så smide skidtet tilbage til
serveren?

> Det fungere også okj, så længe man ikke kommer til at trykke flere
> gange på et link der ændre noget i tekstfilen, for så sætter den tomme
> linjer ind, hvilket får scriptet til at gå amok!

Under antagelse af at ovenstående er korrekt, så opstår dit problem når to
ændringer kommer på samme tid, og de to opdateringer af filen bliver
flettet ind i hinanden, not?

> Er det muligt at lave det sådan at der kun kan være et script igang
> med at læse/skrive til/fra en bestemt fil, sådan at alle andre scripts
> der prøver at skrive/læse fra filen bliver sat på holdt indtil det
> scripts som er igang med filen er færdig??

Hvis så fremt i fald og så videre skal du nok have fat i noget ala
følgende:

<?php
$file = fopen('din.fil', 'w');
flock($file, LOCK_EX);
// skriv et brev til Bedstemor And
flock($file, LOCK_UN);
fclose($file);
?>

For at det skal virke, skal ALLE scripts der prøver at tilgå den enkelte
fil bruge samme metode til at åbne filen - hvis hvert script ikke forsøger
at få en lås på filen, har det ingen effekt at det ene script låser filen -
de andre skriver bare løs.

Hvis det ikke virker, så er det fordi jeg aldrig har låst en fil i mit liv,
og det jeg har svaret er helt hen i skoven :)

--
Hyggehej
/Thomas

Martin Mouritzen (24-02-2003)
Kommentar
Fra : Martin Mouritzen


Dato : 24-02-03 21:35

On Mon, 24 Feb 2003 17:58:35 +0100, "Michael"
<kinguru@mail1.stofanet.dk> wrote:

>Er det muligt at lave det sådan at der kun kan være et script igang med at
>læse/skrive til/fra en bestemt fil, sådan at alle andre scripts der prøver
>at skrive/læse fra filen bliver sat på holdt indtil det scripts som er igang
>med filen er færdig??

Prøv at kig på flock funktionen:
http://www.php.net/manual/en/function.flock.php
--
BellCom Internet ApS. Martin Mouritzen Phone: +45 39401717
Gersonsvej 25 Udvikler Fax: +45 39400144
DK-2900 Hellerup mm@bellcom.dk http://www.bellcom.dk

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste