problem s právy?
5 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Ahoj, prosím někoho, aby mi vysvětlil následující problém.) V kódu chci zapisovat do text. souboru podle následujícího příkazu: $fp=fopen("data/data.txt", "a"); ale při pokusu o uložení mi to píše následující: Warning: fopen(data/data.txt): failed to open stream: Permission denied in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 369 Error opening data file. Warning: fputs(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 377 Warning: fclose(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 379 Warning: Cannot modify header information - headers already sent by (output started at D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php:369) in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 648 Warning: fopen(data/logauthors.txt): failed to open stream: Permission denied in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 640 Warning: fwrite(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 642 Warning: fclose(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 643 Může mi někdo na základě výše uvedených indícií pomoci? Děkuji předem
-
>Warning: fopen(data/data.txt): failed to open stream: Permission denied in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 369 Error opening data file. nemáš práva otevřít -> error Warning: fputs(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 377 nemáš práva otevřít -> nemáš práva editovat -> error2 Warning: fclose(): supplied argument is not a valid stream resource in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 379 nemáš práva otevřít -> nemáš práva zavřít -> error3 Warning: Cannot modify header information - headers already sent by (output started at D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php:369) in D:\www\pes\armyburzacz\www\__PHP\include\shared.inc.php on line 648 už ti to vypsalo tři errory, to se nesmí před header() stát -> error4 a následující 4 už tu byly.. ;)
-
1) Mas u adresare data nastavene pravo zapisovani? Neni v tom skriptu treba ten soubor jiz predtim otevren a nekorektne zavren (Fclose(soubor)) ? Jaky je kod od radku 360-380 a 640-643? 2) V souboru "shared.inc.php" posilas prikazem Header("") hlavicku, ale proto, ze je to s nejvetsi pravdepodobnosti soubor vlozenej pomoci require/include, to neni korektni (v souboru, ze ktereho includujes, uz byly hlavicky poslany)
-
hmmm, asi to bude o těch právech, protože si nechávám hlášku "Error opening data file" vypisovat jen na základě chybového otevření souboru(viz níže): $beitrag = str_replace("|", "/", $beitrag); $beitrag = str_replace("\n", "<br>", $beitrag); // these 3 lines do not look sophisticated, $beitrag = str_replace("\r", "", $beitrag); // but it works properly $beitrag = str_replace("\n", "", $beitrag); $text = $id."|".$datum."|".$author."|".$email."|".$ort."|".$land."|".$url."|".$beitrag."|"; $content[$size] = $text; $fp=fopen("data/data.txt", "a"); //$fp=@fopen($conf[f_data], "a"); if($fp <= 0): ?>Error opening data file.<br><?php endif; fputs($fp, "baf"); //fputs($fp, $content[$size]."\n"); fclose($fp); if ($conf[feedback] == "yes") { $title = "New Entry in myGBOOK"; $from = "From: ".$email."\nX-Mailer: MyGBOOK"; //@mail($conf[myemail], $title, $beitrag, $from); }; // log authors ip/host, datetime and entry id $log = new log_visitors("data/logauthors.txt", FALSE, $id ); ?> <script type="text/javascript"> //window.location.href="<?php echo basename($PHP_SELF)."?lang=".$HTTP_GET_VARS[lang]."&".md5(time()); ?>"; </script>
-
k souboru i slozce musi byt prava k zapisu. Co se tyce tech chyb, tak je to serie zpusobena tim, ze nelze do souboru zapisovat - resp. nelze ho otevrit pro zapis u fce fopen (nedostatecna prava). Tim padem se chyba vypise a nevytvori se filepointer. Tim padem v dalsich fput, fwrite, fread a fclose pouzivas neplatny fp, tudiz to vypise chybu. header() vyhlasi chybu, ze hlavicky byly uz odeslany, protoze se se pred jejim pouzitim vypsala nejaka chyba a tudiz byly hlavicky odeslany pred vypisem te chyby. je to jednoduche a proste. Kdyz nastavis slozce/souboru spravna prava, vsechny chyby zmizi. Ty chyby s oteviranim souboru tam mas dve (data/data.txt , data/logauthors.txt).