03. august 2008 - 12:28
Der er
21 kommentarer
php - 777 - fopen()
Hej.. Jeg har et kæmpe problem. <?php $fp = fopen("$navn.txt", "w"); fputs($fp, $navn, $adresse, $nummer, $antal); fclose($fp); ?> Når jeg kører programmet modtager jeg: Warning: fopen(Tobias Petersen.txt) [function.fopen]: failed to open stream: Permission denied in /home/tobias/public_html/Tørklæder/modtag.php on line 14 Warning: Wrong parameter count for fputs() in /home/tobias/public_html/Tørklæder/modtag.php on line 15 Warning: fclose(): supplied argument is not a valid stream resource in /home/tobias/public_html/Tørklæder/modtag.php on line 16 ... Jeg har googlet det lidt og det er muligt at mine mapper samt filer ikke har tilladelsen 777... Jeg ved bare ikke hvordan man sætter tingene til 777. på forhånd tak.
Annonceindlæg fra Kommando
03. august 2008 - 13:55
#1
<ole> fputs tager to argumenter: fputs($fp, "En streng"); /mvh </bole>
03. august 2008 - 13:58
#2
Hvad chmod angår, så sættes den slags via FTP-programmet. Du kan sikkert højreklikke på filen (hvis det altid er den samme) - eller den overordnede mappe - og sætte tilladelserne dér. Det er lidt forskelligt fra program til program, hvordan det præcist gøres. Det er tilladelserne, der giver den første og sidste af dine warnings - den midterste skyldes, det jeg skrev i mit forrige indlæg
03. august 2008 - 14:56
#3
Fair nok.. Jeg er igang med at lære at skrive php og jeg ved faktisk ikke hvordan jeg får adgang til mit ftp program.. Jeg kører lamp: Ubuntu Apache Ved ikke hvorvidt det er til hjælp.. Jeg kommer ind i min ftp ved at skrive //localhost/*brugernavn* Men mere ved jeg faktisk ikke.
03. august 2008 - 15:13
#5
tusind tak
03. august 2008 - 15:16
#6
Selvtak. Jeg lægger et svar, men vent nu lige med accepten, til du får det til at fungere. Bare stil uddybende spm, hvis det ikke funker for dig ;o)
03. august 2008 - 15:32
#7
Okay fair nok.. Jeg fatter det virkeligt ikke, Jeg har en bog som jeg læser "PHP/MYSQL programming for the absolute beginner" som giver følgende eksempel: <? $sonnet76 = <<<HERE Sonnet # 76, William Shakespeare Why is my verse so barren of new pride, So far from variation or quick change? Why with the time do I not glance aside To new-found methods, and to compounds strange? Why write I still all one, ever the same, And keep invention in a noted weed, That every word doth almost tell my name, Showing their birth, and where they did proceed? O! know sweet love I always write of you, And you and love are still my argument; So all my best is dressing old words new, Spending again what is already spent: For as the sun is daily new and old, So is my love still telling what is told. HERE; $fp = fopen("sonnet76.txt", "w"); fputs($fp, $sonnet76); fclose($fp); ?> Kan det passe at dette eksempel er forkert? Hvis jeg f.eks. har 5 variabler som jeg gerne vil gemme i filen "sonnet76.txt" hvad gør jeg så...?
03. august 2008 - 16:04
#8
Eksemplet er helt korrekt. Hvis det kun er variablerne, kunne det se sådan ud: <?php $navn = "Ole Bole"; $adresse = "Min adresse"; $nummer = 123; $antal = 456; $minTekst = $navn." ".$adresse." ".$nummer." ".$antal; $fp = fopen("sonnet76.txt", "w"); fputs($fp, $minTekst); fclose($fp); ?> Det kunne også være: <?php $navn = "Ole Bole"; $adresse = "Min adresse"; $nummer = 123; $antal = 456; $minTekst = "Navn: ".$navn."\r\nAdresse: ".$adresse."\r\nNummer: ".$nummer."\r\nAntal: ".$antal; $fp = fopen("sonnet76.txt", "w"); fputs($fp, $minTekst); fclose($fp); ?>
03. august 2008 - 16:09
#9
- eller: <?php $navn = "Ole Bole"; $adresse = "Min adresse"; $nummer = 123; $antal = 456; $minTekst = <<<TEXTEND Navn: $navn Adresse: $adresse Nummer: $nummer Antal: $antal TEXTEND; $fp = fopen("sonnet76.txt", "w"); fputs($fp, $minTekst); fclose($fp); ?>
03. august 2008 - 16:11
#10
Kunne man i stedet for: $minTekst = "Navn: ".$navn."\r\nAdresse: ".$adresse."\r\nNummer: ".$nummer."\r\nAntal: ".$antal; Gøre sådan her: $minTekst = <<<here $navn $adresse $nummer $antal here; ??
03. august 2008 - 16:12
#11
Jeg går udfra, at du - nu, hvor din browser er refreshed - kan se, svaret er: Ja =)
03. august 2008 - 16:13
#12
ups, det er jo precis hvad du har skrevet :) hehe.. My bad
03. august 2008 - 16:13
#13
;D
03. august 2008 - 16:18
#14
Nu virker det for mig, nu er det eneste jeg ikke kan finde ud af det med 777... Jeg kiggede lidt på det link du gav mig, og jeg har prøvet mig frem med chmod: <? chmod("/", 0777); $tid = date("l \\t\h\e jS"); $txt = <<<here $navn $tid $gaestebog here; $fp = fopen("gaestebog.txt", "a"); fputs($fp, $txt); fclose($fp); ?> Dette giver mig denne error: Warning: chmod() [function.chmod]: Operation not permitted in /home/tobias/public_html/Test/gaestebog.php on line 13 Warning: fopen(gaestebog.txt) [function.fopen]: failed to open stream: Permission denied in /home/tobias/public_html/Test/gaestebog.php on line 24 Warning: fputs(): supplied argument is not a valid stream resource in /home/tobias/public_html/Test/gaestebog.php on line 25 Warning: fclose(): supplied argument is not a valid stream resource in /home/tobias/public_html/Test/gaestebog.php on line 26
03. august 2008 - 21:05
#15
Prøv: chmod("gaestebog.txt", 0777); - muligvis: chmod("/Test/gaestebog.txt", 0777);
03. august 2008 - 21:31
#16
Det virker desværre ikke :(
03. august 2008 - 21:39
#17
Får du warnings?
03. august 2008 - 22:42
#18
Jep :( Jeg går bare videre og læser om mysql, køber en plads på en server og finder ud af det senere :) Tusinde tak for hjælpen, det er fedt at du dedikerer dig til at hjælpe :) Vi skrives nok ;)
03. august 2008 - 22:49
#19
Okay ... ét sidste forsøg: chmod("/home/tobias/public_html/Test/gaestebog.txt", 0777);
03. august 2008 - 22:59
#20
Det virker heller ikke, måske fordi jeg placerer chmod forkert i filen? Jeg placerer den lige efter <? så det er det første der sker.
03. august 2008 - 23:22
#21
Vi tilbyder markedets bedste kurser inden for webudvikling