Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] odczyt z pliku, następny problem z przykładem z książki
Cypis_01
post 13.08.2007, 20:33:01
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 6.08.2007

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


Teraz problem dotyczy skryptu który powinien otworzyć plik .txt , chociaż plik zawiera treść pokazuje mi się informacji iż plik jest pusty.

  1. <?php
  2.  
  3. $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
  4. ?>
  5. <html>
  6. <head>
  7. <title>Usługi - zamówienia klientów</title>
  8. </head>
  9. <body>
  10. <h1>Usługi</h1>
  11. <h2>Zamówienia klientów</h2>
  12. <?php
  13.  
  14. @ $wp = fopen("$DOCUMENT_ROOT/../zamowienia.txt", "r");
  15.  
  16. if (!$wp)
  17. {
  18. echo "<p><strong>Brak zamówień."
  19. ."Proszę spróbować później.</strong></p></body></html>";
  20.  
  21. }
  22.  
  23. while (!feof($wp))
  24. {
  25. $zamowienie = fgets($wp, 999);
  26. echo $zamowienie."<br>";
  27.  
  28. }
  29.  
  30. fclose($wp);
  31. ?>
  32. </body>
  33. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
grzegorzr
post 13.08.2007, 20:56:57
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 3
Dołączył: 1.06.2007
Skąd: self::display()

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


sprobuj zamienic:
  1. <?php
  2. $HTTP_SERVER_VARS['DOCUMENT_ROOT']
  3. ?>

na
  1. <?php
  2. $_SERVER['DOCUMENT_ROOT']
  3. ?>

sprawdz tez np za pomoca
  1. <pre>
  2. <?php var_dump($_SERVER); ?>
  3. </pre>

czy ta zmienna nie jest pusta. Jesli to nie pomoze to pousuwaj znaczcniki @ i podeslij co ci wyskakuje.
Go to the top of the page
+Quote Post
Cypis_01
post 13.08.2007, 21:05:40
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 6.08.2007

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


Zadziałało winksmiley.jpg dzięki bardzo.


aha możesz mi powiedzieć jeszcze dlaczego po zmianie na:

  1. <?php
  2. $_SERVER['DOCUMENT_ROOT']
  3. ?>


zadziałało, a wcześniej nie działało...tzn chodzi mi o to jaka jest różnica między
  1. <?php
  2. $HTTP_SERVER_VARS['DOCUMENT_ROOT']
  3. ?>
a
  1. <?php
  2. $_SERVER['DOCUMENT_ROOT']
  3. ?>


Ten post edytował Cypis_01 13.08.2007, 21:07:54
Go to the top of the page
+Quote Post
phpion
post 14.08.2007, 10:51:52
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




$HTTP_*_VARS nie jest już stosowane i jest domyślnie wyłączone w konfiguracji (oczywiście możesz włączyć ale po co). Zamiast niego stosuj $_* czyli np.
$HTTP_GET_VARS -> $_GET
itd.
Go to the top of the page
+Quote Post
termi
post 14.08.2007, 15:03:48
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.08.2007
Skąd: Gdynia/Gdańsk

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


mam pytanie jak odczytac tylko np. 10 linijke z tego pliku questionmark.gif


--------------------
Jedyna różnica między mną a wariatem to fakt, że nie jestem wariatem.
Go to the top of the page
+Quote Post
piotrekkr
post 14.08.2007, 15:58:41
Post #6





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Cytat
mam pytanie jak odczytac tylko np. 10 linijke z tego pliku questionmark.gif

  1. <?php
  2. $i=1;
  3. while (!feof($wp) && $i <= 10)
  4. {
  5. $zamowienie = fgets($wp, 999);
  6. echo $zamowienie."<br>";
  7. $i++;
  8. }
  9. ?>


Ten post edytował piotrekkr 14.08.2007, 16:00:17
Go to the top of the page
+Quote Post
termi
post 16.08.2007, 14:00:33
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.08.2007
Skąd: Gdynia/Gdańsk

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


No to mam pytanie następne w jaki sposob mogłyb zapisac 10 linijke w pliku??


--------------------
Jedyna różnica między mną a wariatem to fakt, że nie jestem wariatem.
Go to the top of the page
+Quote Post
piotrekkr
post 16.08.2007, 21:18:17
Post #8





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Proste wczytujesz plik kazda linijke do tablicy a pozniej zmieniasz $tablica[10] = 'jakistamzmienionytekst' i zapisujesz ponownie cala tablice do pliku. zajrzyj do funkcji file() i implode().file pomoże ci wczytac kazda linijke pliku do tablicy a implode pozwoli ci zrobic z tablicy jeden wielki string biggrin.gif

Aha mozliwe ze bedziesz musial zmienic $tablica[9] a nie $tablica [10] bo chyba funkcja file indeksuje tablice od zera czyli 10 element bedzie pod indexem 9 ale najlepiej sprawdz w dokumentacji funkcji file.

Ten post edytował piotrekkr 16.08.2007, 21:19:55
Go to the top of the page
+Quote Post
Hazel
post 16.08.2007, 22:13:15
Post #9





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Dokładnie tak, odwołujesz się do elementu tablicy o numerze zdekrementowanym w stosunku do numeru linijki, którą chcesz zapisać.
Czyli $tablica[9].

Ten post edytował Hazel 16.08.2007, 22:13:46


--------------------
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:31