Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z odczytem pliku
Forum PHP.pl > Forum > Przedszkole
zxc__
Dopiero się uczę, i utknąłem przy odczytywaniu zawartości plików
Mam dwa pliki: cos.txt, którego zawartość chę odczytać i .otwieranie.php, którego kod wygląda tak:

  1. <html>
  2. <head>
  3. <title>wyswietlwyniki</title>
  4. </head>
  5. <body>
  6. <?php
  7. @ $wp = fopen("$_SERVER['DOCUMENT_ROOT']/../pliki/cos.txt", 'rb')
  8.  
  9. if (!$wp) [
  10. echo "<p>Brak</p>";
  11. }
  12.  
  13. while (!feof($wp)) {
  14. $costam = fgets($wp, 999);
  15. echo $costam."<br />";
  16. }
  17.  
  18. fclose($wp);
  19.  
  20. ?>
  21. </body>
  22. </head>


Po czym wyskakuje mi błąd:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\WebServ\httpd\pliki\otwieranie.php on line 7

Mógłby mi ktoś podpowiedzieć, gdzie robię błąd?
Wypróbowałem najróżniejsze kombinacje, i nic.
Pawel_W
1. na przyszłość wstawiaj kod w odpowiednie tagi na forum
2. spróbuj tak:
  1. $wp = fopen($_SERVER['DOCUMENT_ROOT'] . "/../pliki/cos.txt", 'rb');

3. prościej by Ci było skorzystać z file_get_contents

po zedytowaniu przez Ciebie kodu widać gdzie jest błąd wink.gif

nie
  1. @ $wp = fopen("$_SERVER['DOCUMENT_ROOT']/../pliki/cos.txt", 'rb')

a
  1. $wp = @fopen("$_SERVER['DOCUMENT_ROOT']/../pliki/cos.txt", 'rb')

poza tym, unikaj takiego zapisu, zamiast maskować błędy nie dopuszczaj do ich powstawania - w tym wypadku sprawdzaj czy plik istnieje za pomocą file_exists
zxc__
Za Twoją radą, zmodyfikowałem linijkę kodu
  1. $wp = @file_get_contents("$_SERVER['DOCUMENT_ROOT'] . /../pliki/cos.txt", 'rb')

Ale to nic nie pomogło...
Błąd jak był, tak jest
Pawel_W
file_get_contents przyjmuje jeden argument, nie 2 wink.gif poza tym, zmień ciąg na taki jak podałem w pkt. 1
zxc__
Ok, zmieniłem. Niestety, nadal to samo.
Pawel_W
wklej jeszcze raz bo coś mi się wierzyć nie chce smile.gif
Pawel_W
brakuje średnika w linii 7 smile.gif
abort
Wiesz, kiedyś na stareńkim MS-DOSie był taki wirus, nazywał się "dot eater" (swoją drogą, mega wkurzający).
U Ciebie chyba występuje jego mutacja: semicolon eater.

Posprawdzaj, czy wszędzie masz średniki na końcu (więcej nie podpowiem).
zxc__
Dokładnie, już sam do tego doszedłem wink.gif
Działa, wielkie dzięki za pomoc
Jeszcze tylko jedno pytanie

  1. <html>
  2. <head>
  3. <title>wyswietlwyniki</title>
  4. </head>
  5. <body>
  6. <?php
  7. $wp = @fopen($_SERVER['DOCUMENT_ROOT'] . "/../pliki/cos.txt", 'rb');
  8.  
  9. if (!$wp) {
  10. echo "<p>Brak</p>";
  11. }
  12.  
  13. while (!feof($wp)) {
  14. $costam = fgets($wp, 999);
  15. echo $costam."<br />";
  16. }
  17.  
  18. fclose($wp);
  19.  
  20. ?>
  21. </body>
  22. </head>

Czemu wyświetla mi mój komunikat "Brak" zamiast zawartości pliku cos.txt?
Pawel_W
usuń @ sprzed fopen, na samym początku daj error_reporting(E_ALL) i się dowiesz w czym problem smile.gif
zxc__
Wybacz, ale nie mam pojęcia gdzie mam dodać error_reporting...
Po dodaniu na samym początku
  1. echo E_ALL

zmieniło się jedynie to, że pojwiła się liczba 6143 tuż przed komunikatem o błędzie
Pawel_W
czy ja gdzieś pisałem echo? miałeś dokleić <?php error_reporting(E_ALL); ?> na początku pliku, do tego jeszcze usunąć @ przed fopen
zxc__
Wybacz, nigdy nie miałem do czynienia z tą funkcją, a że dokładnie nie wytłumaczyłeś, zacząłem kombinować na wszystkie możliwe sposoby
  1. Warning: fopen(C:/Program Files/WebServ/httpd//../pliki/cos.txt) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\WebServ\httpd\pliki\otwieranie.php on line 10

wiersz 10 czyli tu
  1. $wp = fopen($_SERVER['DOCUMENT_ROOT'] . "/../pliki/cos.txt", 'rb');
Pawel_W
oj ludzie ludzie... znajomość angielskiego na tym poziomie to podstawa smile.gif a korzystanie z google nie boli... plik który chcesz zassać nie istnieje albo znajduje się w innym katalogu
zxc__
Znam angielski, całkiem nieźle.
Plik istnieje i jest w tym samym katalogu.
Pawel_W
C:/Program Files/WebServ/httpd//../pliki/cos.txt

to nie wygląda na poprawną ścieżkę katalogu wink.gif nie będę Ci już mówił w którym miejscu to zmienić
zxc__
Dziękuję
Pozornie (jak dla mnie, początkującego) nierozwiązywalny problem został rozwiązany
Już wszystko zrozumiałem, działa jak należy
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.