Gå til innhold

[Løst]Hva er feil i koden?


Anbefalte innlegg

Sitter her med boken Beginning php5 og leser. Er nå i kapittel 7 og holder på med skriving til filer. I den sammenhengen viser boken et eksempel på hvordan man lager et enkel hit counter, men koden ser ikke ut til å fungere for meg.

Er det noen som kan korrigere den, slik at jeg kan se hva som er galt?

 

	<?php
$counter_file = "count.txt";
if(!($fp = fopen($counter_file, "r"))) die ("Cannot open " . $counter_file . ".");
$counter = fread($fp, 20);
fclose($fp);
$counter++;

echo "You're visitor number " . $counter . ".";
$fp = fopen($counter_file, "w");
fwrite($fp, $counter);
fclose($fp);
?>

 

Jeg får opp følgende feilmeldinger når jeg kjører scriptet:

 

You're visitor number 1.

Warning: fopen(count.txt) [function.fopen]: failed to open stream: Permission denied in C:\inetpub\wwwroot\counter.php on line 21

 

Warning: fwrite(): supplied argument is not a valid stream resource in C:\inetpub\wwwroot\counter.php on line 22

 

Warning: fclose(): supplied argument is not a valid stream resource in C:\inetpub\wwwroot\counter.php on line 23

 

OBS: Jeg er ikke ute etter å få fatt i en helt ny og annerledes måte å gjøre dette på, bare finne feilen i dette scriptet, ettersom det står i boka og jeg ikke vil ta meg mer vann over hodet enn det jeg må :)

Endret av nwinger
Lenke til kommentar
Videoannonse
Annonse

Er vel ikke noe problem å CHmodde filen direkte i koden heller....?

Se modifikasjon gjort i bold, og test det...

 

 

	<?php
$counter_file = "count.txt";


     [b] chmod("count.txt", 0777);[/b]
if(!($fp = fopen($counter_file, "r"))) die ("Cannot open " . $counter_file . ".");
$counter = fread($fp, 20);
fclose($fp);
$counter++;

echo "You're visitor number " . $counter . ".";
$fp = fopen($counter_file, "w");
fwrite($fp, $counter);
fclose($fp);
?>

 

Lenke til kommentar

Edit:

 

Nå funker det. Måtte gå inn via CuteFTP for å endre permissions på fila til "Full Control" for både min bruker og IIS.

Men, jeg kan jo ikke holde på med dette hver gang. Finnes det noen måte å gjøre det permanent og slik at det gjelder for alle filer?

Endret av nwinger
Lenke til kommentar
Edit:

 

Nå funker det. Måtte gå inn via CuteFTP for å endre permissions på fila til "Full Control" for både min bruker og IIS.

Men, jeg kan jo ikke holde på med dette hver gang. Finnes det noen måte å gjøre det permanent og slik at det gjelder for alle filer?

 

Skal vel funke å legge til denne linja hver gang...

Er jo trossalt bare en linje ;)

 

chmod("DIN FIL", 0777);

Lenke til kommentar
Edit:

 

Nå funker det. Måtte gå inn via CuteFTP for å endre permissions på fila til "Full Control" for både min bruker og IIS.

Men, jeg kan jo ikke holde på med dette hver gang. Finnes det noen måte å gjøre det permanent og slik at det gjelder for alle filer?

 

Skal vel funke å legge til denne linja hver gang...

Er jo trossalt bare en linje ;)

 

chmod("DIN FIL", 0777);

 

Jeg prøvde faktisk det også, men det funker ikke :( Ser ut som Vista overstyrer den biten på en eller annen måte. Men, nå har jeg fikset problemet. Satte root mappen på lokalserveren til fulle rettigheter, og det virket :)

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...