Bekijk Volledige Versie : opslaan van gegevens naar een .file [php]
Matthijs de Z
11/04/03, 13:20
Hallo,
Ik wil een aantal gegeven opslaan in een .gegevens file. Het vreemde is, dat
wanneer ik de gegevens opsla in een (nog niet aangemaakte) gegevens.txt file
het wel lukt. Maar als ik er $systeem_pad/.gegevens van maak, krijg ik deze
foutmelding:
Warning: fopen(/pad naar/.gegevens) [function.fopen]: failed to create
stream: Permission denied in /pad naar/setup.php on line 108
fopen failed
Ik gebruik dit om het op te slaan:
=================================
$filenaamlog = "$systeem_pad/gegevens.txt";
if($fp=fopen($filenaamlog, "w+"))
{
fwrite($fp,"inhoud van de file");
fclose($fp);
echo"De gegevens zijn weggeschreven naar:
$systeem_pad/gegevens.txt<br><br>";
}
else
{
die("fopen failed");
}
===================
Wie weet hier een oplossing voor?
groeten,
Matthijs
Rene Pijlman
11/04/03, 13:50
Matthijs de Z:
>Ik wil een aantal gegeven opslaan in een .gegevens file. Het vreemde is, dat
>wanneer ik de gegevens opsla in een (nog niet aangemaakte) gegevens.txt file
>het wel lukt. Maar als ik er $systeem_pad/.gegevens van maak, krijg ik deze
>foutmelding:
>
>Warning: fopen(/pad naar/.gegevens) [function.fopen]: failed to create
>stream: Permission denied in /pad naar/setup.php on line 108
>fopen failed
Kennelijk heeft het web server proces geen schrijfrechten in
$systeem_pad.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
11/04/03, 14:05
> Kennelijk heeft het web server proces geen schrijfrechten in
> $systeem_pad.
Maar ik heb de dir ge-chmod met 777 en hij schrijf in dezelfde directory wel
gegevens.txt
Dus zie ik hier iets over het hoofd?
Groeten,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Hans Wolters
11/04/03, 14:05
On Fri, 11 Apr 2003 13:12:40 +0200, Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> $filenaamlog = "$systeem_pad/gegevens.txt";
>
> if($fp=fopen($filenaamlog, "w+"))
> {
>
> fwrite($fp,"inhoud van de file");
> fclose($fp);
>
> echo"De gegevens zijn weggeschreven naar:
> $systeem_pad/gegevens.txt<br><br>";
> }
> else
> {
> die("fopen failed");
> }
Ik zie nergens dat je het bestand ook weer sluit, staat er soms
ergens een filelock op dat ding?
Groet,
Hans
--
phpReview : http://phpReview.nl.linux.org/
Matthijs de Z
11/04/03, 14:05
> > $filenaamlog = "$systeem_pad/gegevens.txt";
> >
> > if($fp=fopen($filenaamlog, "w+"))
> > {
> >
> > fwrite($fp,"inhoud van de file");
> > fclose($fp);
> >
> > echo"De gegevens zijn weggeschreven naar:
> > $systeem_pad/gegevens.txt<br><br>";
> > }
> > else
> > {
> > die("fopen failed");
> > }
> Ik zie nergens dat je het bestand ook weer sluit, staat er soms
> ergens een filelock op dat ding?
Ik sluit hem toch met fclose($fp); of niet?
Groeten,
Matthijs
Rene Pijlman
11/04/03, 14:20
Matthijs de Z:
>> Kennelijk heeft het web server proces geen schrijfrechten in
>> $systeem_pad.
>
>Maar ik heb de dir ge-chmod met 777 en hij schrijf in dezelfde
>directory wel gegevens.txt
Doe ons eens een ls -al van die directory toekomen. En een ps
-eo pid,user,uid,command | grep apache.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
11/04/03, 14:20
> Doe ons eens een ls -al van die directory toekomen. En een ps
> -eo pid,user,uid,command | grep apache.
jailshell-2.05a$ ls
info.php setup.php uploaden.php
jailshell-2.05a$ ps -eo pid,uid,command|grep apache
jailshell: /bin/ps: Permission denied
Groeten,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Matthijs de Z
11/04/03, 14:35
> jailshell-2.05a$ ls
> info.php setup.php uploaden.php
Ik heb gegevens.txt even verwijderd net, omdat ik bezig was met test
Rene Pijlman
11/04/03, 14:35
Matthijs de Z:
>> Doe ons eens een ls -al van die directory toekomen.
>jailshell-2.05a$ ls
>info.php setup.php uploaden.php
Lees nog eens goed.
>jailshell: /bin/ps: Permission denied
Wat is het voor systeem, dat je wel toestaat om directories 777
te chmod'en, maar niet om het onschuldige ps te draaien?
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
11/04/03, 14:35
> >jailshell-2.05a$ ls
> >info.php setup.php uploaden.php
>
> Lees nog eens goed.
Je mist de gegevens.txt file. Die had ik al weer verwijderd.
> >jailshell: /bin/ps: Permission denied
>
> Wat is het voor systeem, dat je wel toestaat om directories 777
> te chmod'en, maar niet om het onschuldige ps te draaien?
Dat is een 9.95 Dollar per maand redhat systeem.
Mazzel,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Rene Pijlman
11/04/03, 14:50
Matthijs de Z:
>Je mist de gegevens.txt file.
Nee, ik mis de -al achter ls. Daarmee laat ls de permissies
zien, en wel van alle files, ook die met een puntje beginnen.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rene Pijlman <reply.in@the.newsgroup>:
>>jailshell: /bin/ps: Permission denied
>
> Wat is het voor systeem, dat je wel toestaat om directories 777 te
> chmod'en, maar niet om het onschuldige ps te draaien?
Omdat de zaak in een jail (alhoewel, Linux kennende zal het wel een
chroot'ed omgeving zijn) draait, verwacht ik.
--
robert
Matthijs de Z
11/04/03, 14:50
> Nee, ik mis de -al achter ls. Daarmee laat ls de permissies
> zien, en wel van alle files, ook die met een puntje beginnen.
Foutje...
jailshell-2.05a$ ls -al
total 44
drwxrwxrwx 2 beursana beursana 4096 Apr 11 12:38 .
drwxr-xr-x 33 beursana 32205 4096 Apr 11 08:39 ..
-rw-r--r-- 1 beursana beursana 4 Apr 11 10:27 .gegevens
-rw-r--r-- 1 nobody nobody 5 Apr 11 10:40 .txt
-rw-r--r-- 1 nobody nobody 14604 Apr 11 12:38 Array
-rw-r--r-- 1 beursana beursana 34 Apr 11 09:06 info.php
-rw-r--r-- 1 beursana beursana 3593 Apr 11 11:09 setup.php
-rw-r--r-- 1 beursana beursana 1325 Apr 11 12:38 uploaden.php
Er staat dus wel een .gegevens file. En er zit ook een tekst in. Maar nieuwe
input kan ik er niet naar schrijven.
Groeten,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
kunnen we onderhand niet met zijn allen een boek voor die gozer kopen?
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com>:
> -rw-r--r-- 1 beursana beursana 4 Apr 11 10:27 .gegevens
Als je httpd-proces als 'nobody' draait, dan kan je inderdaad niet
wegschrijven naar die file, vanwege de permissies van de file. Een
oplossing is om de file te chmodden naar 666; een andere oplossing
is om de file van user 'nobody' te maken (indien dat mogelijk is,
wat ik niet verwacht).
--
robert
Matthijs de Z
11/04/03, 15:05
> > -rw-r--r-- 1 beursana beursana 4 Apr 11 10:27 .gegevens
>
> Als je httpd-proces als 'nobody' draait, dan kan je inderdaad niet
> wegschrijven naar die file, vanwege de permissies van de file. Een
> oplossing is om de file te chmodden naar 666; een andere oplossing
> is om de file van user 'nobody' te maken (indien dat mogelijk is,
> wat ik niet verwacht).
oeps....inderdaad...666 en het werkt. Ik zag die file eerst niet staan in
mijn ftp programma, maar met ssh chmoden lukte wel.
bedankt allemaal voor de hulp.
Groeten,
Matthijs
>
> --
> robert
Rene Pijlman
11/04/03, 15:05
Matthijs de Z:
>-rw-r--r-- 1 beursana beursana 4 Apr 11 10:27 .gegevens
Er bestaat al een .gegevens van de user beursana. Het
Apache-proces, en dus PHP, zal vermoedelijk geen beursana zijn,
heeft daarom geen write permission op dit bestand en mag het dus
niet overschrijven.
>Er staat dus wel een .gegevens file. En er zit ook een tekst in.
>Maar nieuwe input kan ik er niet naar schrijven.
Dat klopt.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
11/04/03, 15:05
> kunnen we onderhand niet met zijn allen een boek voor die gozer kopen?
Nou...een goed boek is altijd welkom ;-) (maar aan de andere kant, je
beloond dan iemand voor dom zijn, dan kun je denk ik wel bezig blijven met
boeken weggeven).
mazzel,
Matthijs
Matthijs de Z
11/04/03, 15:05
> Er bestaat al een .gegevens van de user beursana. Het
> Apache-proces, en dus PHP, zal vermoedelijk geen beursana zijn,
> heeft daarom geen write permission op dit bestand en mag het dus
> niet overschrijven.
Ik moest de file via ssh even met chmod op 666 zetten. Toen werkte het wel.
Ik zal dus in het php script even een file controle moeten maken die kijkt
of de file al bestaat en al ie bestaat moet ie ge-chmod worden. Bedankt voor
je hulp.
Groeten,
Matthijs
> >Er staat dus wel een .gegevens file. En er zit ook een tekst in.
> >Maar nieuwe input kan ik er niet naar schrijven.
>
> Dat klopt.
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
ok, dan ploink ik je voortaan gewoon maar
"Matthijs de Z"
<haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> schreef in
bericht news:b76doh$1ql5$1@nl-news.euro.net...
> > kunnen we onderhand niet met zijn allen een boek voor die gozer kopen?
>
> Nou...een goed boek is altijd welkom ;-) (maar aan de andere kant, je
> beloond dan iemand voor dom zijn, dan kun je denk ik wel bezig blijven met
> boeken weggeven).
> mazzel,
>
> Matthijs
>
>
Matthijs de Z
11/04/03, 16:05
> ok, dan ploink ik je voortaan gewoon maar
huh?? het was maar een geintje hoor...
Maarten Wierda
13/04/03, 17:20
ikÿ wrote:
> > > kunnen we onderhand niet met zijn allen een boek voor die gozer kopen?
> >
> > Nou...een goed boek is altijd welkom ;-) (maar aan de andere kant, je
> > beloond dan iemand voor dom zijn, dan kun je denk ik wel bezig blijven met
> > boeken weggeven).
>
> ok, dan ploink ik je voortaan gewoon maar
Welkom.
--
Cheers, Maarten Wierda
cp: Dinosaur Jr. - raisins
"Smack it! Beat it! Masturbate it!" - K.D. Cobain