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 557
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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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.


--------------------
Com powiedział, powiedziałem.
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? 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.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
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 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:21