fwrite, fopen, etc.
Wederom terug gekeerd voor advies!
Nou, ik probeer dus een gebruikers.txt te maken, of ook maar gewoon een textfile met iets erin. En volgens mijn boek zou het zo moeten
Wat naar mijn weten voor geen donder klopt, zoals als vrijwel alles in het boek, ;p.
Maar goed, naar wat onderzoek op het onderwerp, kwam ik een voorbeeld script tegen, die het zelfde zou moeten doen.
Deze ziet er echter zo uit
Maar, als ik dat run zegt hij "can't open file", maar vanuit mijn begrip zou hij hier toch, als de file niet aanwezig is, maak fopen er een aan, en vervolgens zou dan een file op mijn computer staan met de $stringdata. Maar ik krijg nergens een reactie uit.
Ik zou graag experimenteren met deze functie, maar het begin loopt al fout.
Iemand toevallig wat advies en/of zeggen wat ik fout doe?
Dit forum is momenteel namelijk mijn grootste bron van informatie, :)
Nou, ik probeer dus een gebruikers.txt te maken, of ook maar gewoon een textfile met iets erin. En volgens mijn boek zou het zo moeten
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$bestand=fopen("gebruikers.txt", "w");
if(!$bestand) {
echo("kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, $lengte);
$outputtekst =
$_POST["user"] . "\n" . $_POST["achternaam"];
fclose($bestand);
if(fclose($bestand))
{
echo("Account is aangemaakt");
}
else{
echo ("Kon bestand niet afsluiten");
}
?>
<HTML>
<form name="getallen" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="user">
<input type="text" name="achternaam">
<input type="submit" value="Gaan!">
</html>
$bestand=fopen("gebruikers.txt", "w");
if(!$bestand) {
echo("kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, $lengte);
$outputtekst =
$_POST["user"] . "\n" . $_POST["achternaam"];
fclose($bestand);
if(fclose($bestand))
{
echo("Account is aangemaakt");
}
else{
echo ("Kon bestand niet afsluiten");
}
?>
<HTML>
<form name="getallen" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="user">
<input type="text" name="achternaam">
<input type="submit" value="Gaan!">
</html>
Wat naar mijn weten voor geen donder klopt, zoals als vrijwel alles in het boek, ;p.
Maar goed, naar wat onderzoek op het onderwerp, kwam ik een voorbeeld script tegen, die het zelfde zou moeten doen.
Deze ziet er echter zo uit
Code (php)
Maar, als ik dat run zegt hij "can't open file", maar vanuit mijn begrip zou hij hier toch, als de file niet aanwezig is, maak fopen er een aan, en vervolgens zou dan een file op mijn computer staan met de $stringdata. Maar ik krijg nergens een reactie uit.
Ik zou graag experimenteren met deze functie, maar het begin loopt al fout.
Iemand toevallig wat advies en/of zeggen wat ik fout doe?
Dit forum is momenteel namelijk mijn grootste bron van informatie, :)
Dit is zeer waarschijnlijk een rechten issue. PHP heeft standaard niet de rechten om zomaar bestanden te schrijven. Kijk eens naar de rechten die je hebt in die map waar je scrijft. Als dit niet 0777 is, mag je niet schrijven en weigert fopen() dienst.
Dit kun je eventueel oplossen door erboven iets neer te zetten als:
chmod(".", 0777);
Dit is een mask op je directory zodat je ook kan lezen en schrijven.
Dit kun je eventueel oplossen door erboven iets neer te zetten als:
chmod(".", 0777);
Dit is een mask op je directory zodat je ook kan lezen en schrijven.
er staat testFile.txt . Mischien heb je je vergist in die hoofdletter
Je kan beter geen or die gebruiken Dat is geen nette fouthandeling
Doe het dan zo:
Toevoeging op 05/02/2011 16:08:02:
@merijn , Volgens mij hoef je txt files niet te chmodden , Maar je kan beter 775 gebruiken als 777 ;)
Je kan beter geen or die gebruiken Dat is geen nette fouthandeling
Doe het dan zo:
Toevoeging op 05/02/2011 16:08:02:
@merijn , Volgens mij hoef je txt files niet te chmodden , Maar je kan beter 775 gebruiken als 777 ;)
Tegenwoordig gebruik je hiervoor:
http://nl3.php.net/manual/en/function.file-put-contents.php
Veel makkelijker...
http://nl3.php.net/manual/en/function.file-put-contents.php
Veel makkelijker...
Hij gaat denk ik volgens het boek mee :)
@Jordi, klopt, heb je gelijk, maar dan kun je net zo goed 644 gebruiken ;) Doet er niet toe, voor het testen kun je beter met de grootst mogelijke scope beginnen en langzaam terug stappen.
daarnaast hoef je textfiles niet te chmodden, maar moet je directory schrijven wel toestaan. Als dat niet toegestaan is, kun je fopen() aanroepen wat je wil, als je niet de rechten hebt, hang je hoe dan ook.
daarnaast hoef je textfiles niet te chmodden, maar moet je directory schrijven wel toestaan. Als dat niet toegestaan is, kun je fopen() aanroepen wat je wil, als je niet de rechten hebt, hang je hoe dan ook.
nog even het script bekeken
<form name="getallen" action="" method="post">
Mischien dat je boek zegt dat dit kan maar, Dit kan onveilig zijn .
Vul dan de pagina naam in of doe action=""
<form name="getallen" action="" method="post">
Mischien dat je boek zegt dat dit kan maar, Dit kan onveilig zijn .
Vul dan de pagina naam in of doe action=""
Dankje voor jullie reacties jongens.
@merijn Ik denk dat dat het wel eens kan zijn. Ik moet namelijk een wachtwoord opgeven als hij in systeem directories wil schijven. Zal het wachtwoord er even afhalen en proberen!
@Jordi
Dankje, In de bovenste heb ik idd die methode gehanteerd. :)
@ Martijn
Ja, idd, en overzichterlijker, dank je, zal het onthouden.
Ik zal even kijken of het lukt nu, en raporteer nog wel even terug, want er zal ongetwijfeld iets fout gaan, haha.
Toevoeging op 05/02/2011 16:15:34:
@Jordi, Hey, ja dat heb ik vaker gehoord ja! Ik zal er om denken, ik hergebruik mijn oude scripts altijd, vandaar, :)
Toevoeging op 05/02/2011 17:04:30:
Gelukt! @Merijn, klopte inderdaad wat je zei!
Dank je jongens!
Ongetwijfeld tot het volgende hoofdstuk, haha. :)
@merijn Ik denk dat dat het wel eens kan zijn. Ik moet namelijk een wachtwoord opgeven als hij in systeem directories wil schijven. Zal het wachtwoord er even afhalen en proberen!
@Jordi
Dankje, In de bovenste heb ik idd die methode gehanteerd. :)
@ Martijn
Ja, idd, en overzichterlijker, dank je, zal het onthouden.
Ik zal even kijken of het lukt nu, en raporteer nog wel even terug, want er zal ongetwijfeld iets fout gaan, haha.
Toevoeging op 05/02/2011 16:15:34:
@Jordi, Hey, ja dat heb ik vaker gehoord ja! Ik zal er om denken, ik hergebruik mijn oude scripts altijd, vandaar, :)
Toevoeging op 05/02/2011 17:04:30:
Gelukt! @Merijn, klopte inderdaad wat je zei!
Dank je jongens!
Ongetwijfeld tot het volgende hoofdstuk, haha. :)




