Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwne 'krzaki'
Forum PHP.pl > Forum > Przedszkole
uli
Witam.
Mam problem z odczytem pliku. Mianowicie po odczytaniu pliku (składajacego sie zawsze z 3 linii), np:

REWOLUCJA
2005-02-07
"ANGORA"

niekiedy dostaje cos takiego:

REWOLUCJA "ANGORA" 2005-02-07

Oto funkcja odpowiedzialna za pobieranie i wyswietlanie:
  1. <?php
  2.  
  3. $numer = &#092;"2000\";
  4. $nazwa = &#092;"felietony/felieton\";
  5. $roz = &#092;".doc\";
  6. $plik = &#092;"$nazwa$numer$roz\";
  7. echo &#092;"<table width=\"100%\">\";
  8. do {
  9. if (file_exists($plik)) {
  10. $plik2 = &#092;"$nazwa$numer.txt\";
  11. $file=fopen($plik2, &#092;"r\"); 
  12. $tytul = &#092;"\";
  13. $tytul = fgets($file, 100); 
  14. $data = fgets($file, 50); 
  15. $dlakogo = fgets($file, 100);
  16. fclose($file);
  17. echo &#092;"<tr><td align=\"left\"><a href=\"$plik\" target=\"_blank\">$tytul</a></td>\";
  18. echo &#092;"<td width=\"35%\" align=\"left\"><b>$dlakogo</b></td>\";
  19. echo &#092;"<td width=\"20%\" align=\"right\"><b>$data</b></td></tr>\";
  20. }
  21. $numer--;
  22. $plik = &#092;"$nazwa$numer$roz\";
  23. }while ($numer > 0);
  24. echo &#092;"</table>\";
  25.  
  26. ?>


Wie ktoś co moze byc tego przyczyna? Z gory dziekuje za odpowiedz - w/w strona to Kabaret Klika dzial felietony (pomijam juz fakt polskich znakow - juz poprawiam)
sf
Otwórz sobie plik *.doc w notatniku smile.gif
uli
Cytat(sf @ 2005-02-15 07:28:33)
Otwórz sobie plik *.doc w notatniku smile.gif

*.txt - ok, otworzylem w listerze pod total commanderem i rzeczywiscie sa krzaki wpisane (poprawilem recznie). Lecz nadal nie wiem czy jest to blad funkcji zapisujacej:
  1. <?php
  2.  
  3. $numer = 1;
  4. $plik = &#092;"../felietony/felieton$numer.txt\";
  5. while (file_exists($plik)) {
  6. $numer++;
  7. $plik = &#092;"../felietony/felieton$numer.txt\";
  8. }
  9. $kto = ereg_replace(&#092;"[]\", \"\", $kto);
  10. $plik = &#092;"../felietony/felieton$numer.txt\";
  11. $file = fopen($plik, &#092;"w\");
  12. fwrite($file, $tytul);
  13. fwrite($file, &#092;"n\");
  14. fwrite($file, $data);
  15. fwrite($file, &#092;"n\");
  16. fwrite($file, $kto);
  17. fclose($file);
  18.  
  19. ?>


Czy jest to po prostu blad osoby wpisujacej te dane (zarzeka sie ze nie)... Poza tym zauwazylem ze dzieje sie tak tylko przy $numerze parzystym, oraz zmiennej $kto = "ANGORA" sad.gif
sf
Hm, tak jak na to patrze to nie umiem znaleźć błędu. Zastanawia mnie tylko czemu w funkcji wczytującej masz $plik i $plik2. Pozatym najlepiej użyć explode" title="Zobacz w manualu PHP" target="_manual. Dodać także obsługę błędów bo jej w ogóle nie ma.

Jeżeli problem występuje tylko przy jednym użytkowniku to najlepiej samemu się na niego zalogować i dawać posty. Sprawdzać stan pliku po zapisie. Szukać miejsca gdzie się sypie. Jeżeli nic się nie dzieje tzn. że wina leży wyłącznie po stronie tamtego użytkownika.

Jeszcze jedna uwaga... funkcja odczytująca to jest masakra... Lepiej sobie zapisać do jakiegoś pliku nr ostatnio dodanego posta. Przy dodaniu nowego odczytujesz do zmiennej, dodajesz jeden i zapisujesz.
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.