Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zliczanie ciągów, coś nie działa..
Bastian
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 14.09.2009

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


Witam,
Krótka piłka:

  1. <?php
  2. $plik='pusty.txt';
  3. if (file_exists($plik))
  4. {
  5. $zawartosc=get_file_contents('$plik');
  6. if (count($zawartosc)>0)
  7. {
  8. echo $zawartosc;
  9. }
  10. else
  11. {
  12. echo 'Jest pusto';
  13. }
  14. }
  15. else
  16. {
  17. echo 'nie istnieje';
  18. }
  19. # ... dalszy kod aplikacji ...
  20. ?>


Plik pusty.txt jest pusty (IMG:style_emoticons/default/smile.gif) Dlaczego skrypt nie zwraca komunikatu "jest pusto" ? Pozostałe możliwości działają.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Largo
post
Post #2





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witaj,

Ciekawe działasz, skoro otwierasz plik i nie ma w nim zawartości to pewny jesteś, że powinieneś używać count? Lepiej użyj strlen, do sprawdzenia czy dany ciąg istnieje.

A od kiedy istnieje funkcja get_file_contents? Nie powinna się ta funkcja nazywać file_get_contents?

Pozdrawiam,
Largo

Ten post edytował Largo 6.12.2009, 13:51:24
Go to the top of the page
+Quote Post
Daiquiri
post
Post #3





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Bo $zawartosc jest "większa od zera"?

Ten post edytował Daiquiri 6.12.2009, 13:51:52
Go to the top of the page
+Quote Post
Bastian
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 14.09.2009

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


Juz sobie poradzilem:

  1. <?php
  2. $plik='pusty.txt';
  3. if (file_exists($plik))
  4. {
  5. $zawartosc= file($plik);
  6. if (count($zawartosc) > 0 )
  7. {
  8. echo $zawartosc[1];
  9. }
  10. else
  11. {
  12. echo 'Jest pusto';
  13. }
  14. }
  15. else
  16. {
  17. echo 'nie istnieje';
  18. }
  19.  
  20. ?>


Zamiast file_get_contents, ktore zlicza liczbę znaków w ciągu a nie jako tablice, użyłem zwykłego file(), które wczytuje zawartość pliku do tablicy, a następie zczytałem tablicę wyświetliłem interesujący mnie fragment poprzez count z indeksem.

Cytat
A od kiedy istnieje funkcja get_file_contents? Nie powinna się ta funkcja nazywać file_get_contents?


Chyba nie (IMG:style_emoticons/default/smile.gif)

Cytat
Bo $zawartosc jest "większa od zera"?


Jezeli plik jest pusty ?
Go to the top of the page
+Quote Post
Daiquiri
post
Post #5





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Cytat(Bastian @ 6.12.2009, 14:02:16 ) *
Jezeli plik jest pusty ?
Spełniał Ci się pierwszy warunek czyli wartość count($zawartość) była "większa od zera" (nie dosłownie - stąd cudzysłowie), ale w związku z tym, że była pusta nie wyświetlało się nic. Dodając echo "test"; przy echo $zawartosc; w poprzednim listingu kodu wyświetliłoby się pewnie tylko "test".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:34