Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]error wyskakuje ale nie wiem gdzie jest błąd
Forum PHP.pl > Forum > Przedszkole
superhorse
Witam.
Nigdzie w internecie tego błędu nie mogę znaleźć więc proszę o pomoc.
Uczę się z książki wydanej przez Helion, ale jak się okazało oni zrobili wiele błędów w swoich skryptach, które starałem się kopiować i opisywać ale niestety wyskakują mi błędy. Parę sam naprawiłem, parę dzięki forum o programowaniu php, ale tego nie jestem w stanie zdzierżyć.
A mianowicie.
Kod wygląda tak:
  1.  
  2. <?php
  3. // utworzenie krótkich nazw zmiennych
  4. $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
  5. ?>
  6. <html>
  7. <head>
  8. <title>Części samochodowe Janka - zamówienia klientów</title>
  9. </head>
  10. <body>
  11. <h1>Części samochodowe Janka</h1>
  12. <h2>Zamówienia klientów</h2>
  13. <?php
  14.  
  15. $wp = fopen('$DOCUMENT_ROOT/../zamowienia/zamowienia.txt', 'r'); //otwarcie pliku
  16. /*
  17. if (!$wp)
  18. {
  19. echo '<p><strong>Brak zamówień. Proszę spróbować później.</strong></p></body></html>';
  20. exit;
  21. }
  22. TO WZIĄŁEM W KOMENTARZ, ABY WIDZIEĆ BŁĘDY*/
  23. while (!feof($wp)); //odczytanie pliku do końca
  24. {
  25. $zamowienie = fgets($wp. 999); //jak w stawiam tutaj mniejszą liczbę to samo się dzieje.
  26. echo $zamowienie. '<br>';
  27. }
  28.  
  29. fclose($wp); //zamknięcie pliku
  30. ?>
  31. </body>
  32. </html>


a o to jaki error wyskakuje:

Cytat
Fatal error: Maximum execution time of 120 seconds exceeded in c:\usr\krasnal\www\myphp\przyklady\zamowienia.php on line 22

Damonsson
Szukaj tutaj:

  1. while (!feof($wp)); //odczytanie pliku do końca


wink.gif


Edit: Aż zajrzałem do książki, bo nie chciało mi się wierzyć, że jest taki błąd i jednak go nie ma, bynajmniej w wydaniu IV.
superhorse
Cytat(Damonsson @ 11.10.2011, 23:59:56 ) *
Szukaj tutaj:

  1. while (!feof($wp)); //odczytanie pliku do końca


wink.gif


Edit: Aż zajrzałem do książki, bo nie chciało mi się wierzyć, że jest taki błąd i jednak go nie ma, bynajmniej w wydaniu IV.



Dzięki. Zauważyłem że nie potrzebnie jest przed blokiem wstawiony znak ";" no i usunąłem go, dzięki czemu kod przeszedł dalej, a zatrzymał się przy:

  1. $zamowienie = fgets($wp. 999);


wyświetlając błąd o treści:

Cytat
Warning: fgets(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\myphp\przyklady\zamowienia.php on line 24


Przy czym ten błąd jest powielany kilkanaście a może nawet kilkaset razy, bo się ładuje, ładuje i ładuje.
Nie mam zielonego pojęcia co jest nie tak ;/. W szczególności że moim zdaniem wszelkie zmienne są właściwie zadeklarowane.
Damonsson
Wklepują i nie rozumiejąc nic z tego co robisz, nie nauczysz się PHP.

Poszukaj jak powinna wygląda konstrukcja fgets.

http://php.net/manual/pl/function.fgets.php

  1. $zamowienie = fgets($wp. 999);

W tej linijce masz błąd. Jaki? Poszukaj sam smile.gif

-superhorse-
Cytat(Damonsson @ 12.10.2011, 01:16:33 ) *
Wklepują i nie rozumiejąc nic z tego co robisz, nie nauczysz się PHP.

Poszukaj jak powinna wygląda konstrukcja fgets.

http://php.net/manual/pl/function.fgets.php

  1. $zamowienie = fgets($wp. 999);

W tej linijce masz błąd. Jaki? Poszukaj sam smile.gif



ok, już wszystko działa smile.gif
Dzięki wielkie za pomoc, taki mały błąd a taki wielki problem ;/.
Ale w takim wypadku $wp i 999 to są dwa odrębne parametry tak ? czy coś źle rozumiem ?
Bo jeśli 999 byłoby wypełnieniem $wp wówczas by była kropka ?
Damonsson
Nie wiem, nie znam php wink.gif
rasten
Szczerze to nie rozumiem pytania. Kropka służy do łączenie stringów. Czyli np. 'ala'.'_ma kota'.999 da w wyniku stringa 'ala_ma kota999'.
W Twoim przykładzie $wp jest uchwytem do pliku, a funkcja fgets przyjmuje dwa argumenty (oddzielone przecinkiem): uchwyt(czyli Twoje $wp) oraz opcjonalnie długość (Twoje 999).
superhorse
Cytat(rasten @ 12.10.2011, 16:18:30 ) *
Szczerze to nie rozumiem pytania. Kropka służy do łączenie stringów. Czyli np. 'ala'.'_ma kota'.999 da w wyniku stringa 'ala_ma kota999'.
W Twoim przykładzie $wp jest uchwytem do pliku, a funkcja fgets przyjmuje dwa argumenty (oddzielone przecinkiem): uchwyt(czyli Twoje $wp) oraz opcjonalnie długość (Twoje 999).

No i to jest właśnie odpowiedź na moje pytanie. Dzięki wielkie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.