datei lesen ok - datei lesen = permission denied

dune911

Erfahrenes Mitglied
hier ist mein (hoffentlich verständlicher *g*) code:
PHP:
$pointer = fopen("data.txt","r");
$data = fgets($pointer,10);
echo $data;
fclose($pointer);
$data++;
$pointer = fopen("data.txt","w");
fputs($pointer,$data);
fclose($pointer);
den ersten teil (data.txt öffnen und anzeigen
und $data erhöhen) bekommt das programm noch hin.
beim zweiten teil (datei öffnen und reinschreiben)
bekomm ich schon bei dem "w" ne fehlermeldung...

hab das so probiert, weil es auch mit r+, w+ und
so nicht funktioniert hat. laufend permission denied...

woran kann das liegen? sonst läuft alles einwandfrei...
 
anscheinend hast du auf die "data.txt" nur lesezugriff..
setz die rechte per

PHP:
chmod("data.txt", 0777);

auf das einfachste zugriffsrecht setzen, dann kann es daran nciht mehr liegen, das script ansonsten ist ok.

[edit]
da war wohl mal wieder wer schneller
[/edit]
 
Zuletzt bearbeitet:
wo genau muss ich die zeile
PHP:
chmod("data.txt", 0777);
einbauen?

ich bekomm immernoch folgende meldungen:

Warning: chmod failed: Permission denied in c:\inetpub\wwwroot\_myphp\count.php on line 3
0
Warning: fopen("data.txt", "w") - Permission denied in c:\inetpub\wwwroot\_myphp\count.php on line 10

Warning: Supplied argument is not a valid File-Handle resource in c:\inetpub\wwwroot\_myphp\count.php on line 11

Warning: Supplied argument is not a valid File-Handle resource in c:\inetpub\wwwroot\_myphp\count.php on line 12
 
du musst diese funktion nur einmal auf die datei anwenden. also mach am besten ein script in dem nur diese funktion steht und leg es ins gleiche verzeichnis.
 
wo muss ich das separate script dann includen?
das programm wird nicht groß - brauch ich da unbedingt ein extra script?
kann ich chmod schon aufrufen, wenn ich den pointer noch nich
auf die datei gesetzt hab oder erst danach über den pointer?
 
du musst das nciht includen. nur einmal ausführen, danach bleibt die datei in dem rechtemodus.

und chmod kannst du aufrufen, ohne ein filehandle zu setzen, du musst eben den parameter mit dateinamen setzen.
 
Zurück