Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd, Błąd w skrypcie
igor_2
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


Czy ktos wie co oznacza taki błąd Warning: fwrite(): supplied argument is not a valid stream resource in /home2/q3/q3abrotherman/przetworzzamowienie.php on line 68

Warning: fclose(): supplied argument is not a valid stream resource in /home2/q3/q3abrotherman/przetworzzamowienie.php on line 69

czy w tym błędzie chodzi o złą ścieżke dostępu to pliku ? z góry dziękuja za pomoc.
A tak Apropo moze ktoś miał kisążkę php i Msql vademekum profesjonalisty wydanie 3 i wie jak poprawić błąd w z przykładu w 2 rozdziale, chodzi mi o skrypt w pliku przetworzzamowienie.php
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




najprawdopodobniej fopen zwróciło ci false. Może to być że plik nie istnieje, lub że nie masz praw do niego lub zupeŁnie coś innego, gdyż nie pokazałeś kodu
Go to the top of the page
+Quote Post
Imperior
post
Post #3





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

Ostrzeżenie: (0%)
-----


Skasuj małpe przed fopen i wprawdź jaki jest błąd.
Go to the top of the page
+Quote Post
igor_2
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


Warning: fopen(): open_basedir restriction in effect. File(/zamowienia/zamowienia.txt) is not within the allowed path(s): (/srv/free/act3549) in /srv/free/act3549/przetworzzamowienie.php on line 66

Warning: fopen(/zamowienia/zamowienia.txt): failed to open stream: Operation not permitted in /srv/free/act3549/przetworzzamowienie.php on line 66

Warning: fwrite(): supplied argument is not a valid stream resource in /srv/free/act3549/przetworzzamowienie.php on line 70

Warning: fclose(): supplied argument is not a valid stream resource in /srv/free/act3549/przetworzzamowienie.php on line 71

  1. <?php
  2. // utworzenie krótkich nazw zmiennych
  3. $iloscopon = $_POST['iloscopon'];
  4. $iloscoleju = $_POST['iloscoleju'];
  5. $iloscswiec = $_POST['iloscswiec'];
  6. $adres = $_POST['adres'];
  7. $adres = $_POST['adres'];
  8.  
  9. $DOCUMENT_ROOT = $_POST['DOCUMENT_ROOT'];
  10. ?>
  11.  
  12. <html>
  13. <head>
  14. <title>Częœci samochodowe Janka — wyniki zam&oacute;wienia</title>
  15. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
  16. </head>
  17. <body>
  18. <h1>Częœci samochodowe Janka</h1>
  19. <h2>wyniki zam&oacute;wienia</h2>
  20. <?php
  21.  
  22.  $data=date('H:i, jS F');
  23.  
  24. echo '<p>Zamówienie przyjete o ';
  25.  
  26. echo $data;
  27. echo '</p>';
  28. echo '<p>Zamówienie Panstwa wyglšda nastepujšco: </p>';
  29.  
  30. $ilosc=0;
  31. $ilosc=$iloscopon+$iloscoleju+$iloscswiec;
  32.  
  33. if( $ilosc == 0 )
  34. {
  35. echo 'Na poprzedniej stronie nie zostalo zlozone zadne zamówienie!<br />';
  36. }
  37. else
  38. {
  39. if ( $iloscopon>)
  40. echo $iloscopon.' opon<br />';
  41. if ( $iloscoleju>)
  42. echo $iloscoleju.' butelek oleju<br />';
  43. if ( $iloscswiec>)
  44. echo $iloscswiec.' ?wiec zaplonowych<br />';
  45. }
  46.  
  47. $wartosc=0.00;
  48.  
  49. define('CENAOPON', 100);
  50. define('CENAOLEJU', 10);
  51. define('CENASWIEC', 4);
  52.  
  53. $wartosc =$iloscopon * CENAOPON + $iloscoleju * CENAOLEJU + $iloscswiec * CENASWIEC;
  54.  
  55. $wartosc=number_format($wartosc, 2, '.', ' ');
  56.  
  57. echo '<P>Warto?c zamówienia wynosi '.$wartosc.'</P>';
  58.  
  59. echo '<P>Adres wysylki to '.$adres. '</P>';
  60.  
  61. $ciagwyjsciowy = $data.&#092;"t\".$iloscopon.\" opon t\".$iloscoleju.\" butelek olejut\"
  62.  .$iloscswiec.&#092;" swiec zaplonowycht\".$wartosc
  63.  .&#092;"PLN/t\". $adres.\"n\";
  64.  
  65. // otwarcie pliku w celu dopisywania
  66.  $wp = fopen(&#092;"$DOCUMENT_ROOT/zamowienia/zamowienia.txt\", 'ab');
  67.  
  68.  
  69.  
  70. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  71. fclose($wp);
  72.  
  73. echo '<p>Zamówienie zapisane.</p>';
  74. ?>
  75. </body>
  76. </html>
Go to the top of the page
+Quote Post
crash
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


No i chyba wszystko jasne. Ten Twój $DOCUMENT_ROOT wskazuje na 'zbyt wysoki' poziom katalogu, a ograniczenia safe mode nie pozwalają na taką samowolkę...
Go to the top of the page
+Quote Post
igor_2
post
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


Czyli co trzeba poprawić?, bo ja mam też skrypt który potem odczytuje dane zapisane w pliku zamowienie.txt i tamten skrypt otwiera tą ścieżkę $wp = fopen("$DOCUMENT_ROOT/zamowienia/zamowienia.txt", 'r'); a ten który już ma zapisać nowe zamówienie już nie działa i wyświetla komunikat który podałem powyżej.
Go to the top of the page
+Quote Post
wolguy
post
Post #7





Grupa: Zarejestrowani
Postów: 219
Pomógł: 10
Dołączył: 9.01.2005

Ostrzeżenie: (0%)
-----


Moze spróbuj tak zapisać (mi nie wywala błędu):
  1. <?php
  2. if( $wp = fopen(&#092;"$DOCUMENT_ROOT/zamowienia/zamowienia.txt\", 'r') ) {
  3.  
  4. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  5. fclose($wp);
  6. echo '<p>Zamówienie zapisane.</p>';
  7.  
  8. }
  9. ?>
Go to the top of the page
+Quote Post
crash
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Z teco co mogę zgadywać zamiast $DOCUMENT_ROOT powinna być: . (kropka)
Go to the top of the page
+Quote Post
igor_2
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


moze ja podam strone z tym formularzem www.design.gaa.pl
Go to the top of the page
+Quote Post
crash
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Ale po co? Napisaliśmy Ci co masz poprawić więc spróbuj najpierw...
Go to the top of the page
+Quote Post
igor_2
post
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


Poprawiłem i nic, dalej to samo.
  1. <?php
  2. if( $wp = fopen(&#092;"$DOCUMENT_ROOT/zamowienia/zamowienia.txt\", 'r') ) {
  3.  
  4. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  5. fclose($wp);
  6. echo '<p>Zamówienie zapisane.</p>';
  7.  
  8. }
  9. ?>

Przecież trub "r" służy tylko do odczytu a żeby dodać coś do pliku trzeba użyć trybu "a".
Jeżeli chodzi o zamiane $DOCUMENT_ROOT na kropki to też nie działa, tylko niewiem czy dobrze poprawiłem $wp = fopen("./zamowienia/zamowienia.txt", 'r') ) o toaki coś chodziło?
Go to the top of the page
+Quote Post
wolguy
post
Post #12





Grupa: Zarejestrowani
Postów: 219
Pomógł: 10
Dołączył: 9.01.2005

Ostrzeżenie: (0%)
-----


Cytat(igor_2 @ 2005-07-17 10:51:24)
Czyli co trzeba poprawić?, bo ja mam też skrypt który potem odczytuje dane zapisane w pliku zamowienie.txt i tamten skrypt otwiera tą ścieżkę $wp = fopen("$DOCUMENT_ROOT/zamowienia/zamowienia.txt", 'r'); a ten który już ma zapisać nowe zamówienie już nie działa i wyświetla komunikat który podałem powyżej.

sam użyłeś trybu r, więc nie wgłębiałem się w to
Go to the top of the page
+Quote Post
igor_2
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


Właśnie oto mi chodzi czemu działa tryb "r" czyli odczytu do pliku, a tryb "ab" czyli dodoawania do pliku już nie. Tego właśnie niewiem.
Go to the top of the page
+Quote Post
crash
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Bo nie nadałeś uprawnień do zapisu dla pliku...
Go to the top of the page
+Quote Post
igor_2
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


a jak nadać uprawnienia do zapisu pliku? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
czachor
post
Post #16





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Poszukaj o chmod'ach.
Go to the top of the page
+Quote Post
igor_2
post
Post #17





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 5.07.2005

Ostrzeżenie: (10%)
X----


jak ustawić uprawnienia do pliku w windows commander 5.0?? bardzo prosze o odp. bo bez tego nie zapisze mi sie nic to pliku zamowienia.txt (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
wolguy
post
Post #18





Grupa: Zarejestrowani
Postów: 219
Pomógł: 10
Dołączył: 9.01.2005

Ostrzeżenie: (0%)
-----


to wtedy znajdujesz ręczne wpisywanie komendy i dajesz np.:
SITE CHMOD 777 /public_html/zamowienia.txt
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 02:23