Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z fopen
Tsiru
post 9.04.2005, 20:48:37
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.01.2005
Skąd: Nigdzie

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


Cześć !
Mam problem, który polega na tym, że kiedy wpisuje
  1. <pre>
  2. <?php
  3. $plik = fgets(fopen(&#092;"plik.txt\",\"r\"),1024);
  4. echo&#092;"$plik\";
  5. ?>
  6. </pre>

to wypluwa to ?
Kod
linia 1

plik plik.txt prezentuje się tak:
Kod
linia 1
linia 2
linia 3
linia 4

Wiecie co zrobić, żeby wyświetlało cały plik ?
(mam php w wersji powyżej 4)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
crash
post 9.04.2005, 20:59:11
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Sorry, ale nie rozumiem dlaczego dziwisz się, że funkcja pobierająca pojedyncza linię z pliku zwraca Ci tylko 1 linię? biggrin.gif Może zerknij do manuala... file_get_contents" title="Zobacz w manualu PHP" target="_manual, implode" title="Zobacz w manualu PHP" target="_manual('', file" title="Zobacz w manualu PHP" target="_manual()) itp..


--------------------
Go to the top of the page
+Quote Post
Tsiru
post 9.04.2005, 21:22:58
Post #3





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.01.2005
Skąd: Nigdzie

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


Mnie uczyli że fgets() pobiera linię z pliku o podanej długości, a entera traktowałem tak samo jak znak (i pewnie tu jest muj błąd).
A jeżeli chodzi o file_get_contents() to nie w moim php, ale dzięki za pomysł z file
Go to the top of the page
+Quote Post
_Mateo
post 10.04.2005, 17:49:10
Post #4





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.03.2005
Skąd: Jaworzno

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


Z pobieraniem funkcji fgets() tylko jednej linii z pliku to fakt, a co do file - pamiętaj, że otworzy plik jako tablicę


--------------------
Go to the top of the page
+Quote Post
Michał2000
post 10.04.2005, 18:44:36
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 16.03.2005
Skąd: Płońsk

Ostrzeżenie: (10%)
X----


Lub...

  1. <?php
  2. $plik = fopen(&#092;"plikt.rxt\", 'r');
  3.  
  4.  
  5. while (!feof($plik))
  6. {
  7. $wys = fgets($wp, 999);
  8. echo $wys.'<br>';
  9. }
  10.  
  11. fclose($wp);
  12. ?>
Go to the top of the page
+Quote Post
mls
post 12.04.2005, 10:57:44
Post #6





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Cytat(Tsiru @ 2005-04-09 22:22:58)
Mnie uczyli że fgets() pobiera linię z pliku o podanej długości, a entera traktowałem tak samo jak znak (i pewnie tu jest muj błąd).
A jeżeli chodzi o file_get_contents() to nie w moim php, ale dzięki za pomysł z file

fgets" title="Zobacz w manualu PHP" target="_manual pobiera linię o podanej długości z pliku, o ile wcześniej nie trafi na znak nowej linii...
Co innego fread" title="Zobacz w manualu PHP" target="_manual, który pobierze tekst o podanej długości bez zwracania uwagi na jakiekolwiek inne znaki winksmiley.jpg

file_get_contents($plik) najprościej przedstawia się tak, jak już napisał crashu - implode('', file($plik))...


--------------------
Go to the top of the page
+Quote Post
Tsiru
post 16.04.2005, 15:50:30
Post #7





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.01.2005
Skąd: Nigdzie

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


dzięki, już wiem wszstko tongue.gif
Go to the top of the page
+Quote Post
Seth
post 16.04.2005, 16:25:04
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Mozna tez tak:
  1. <?php
  2. $fileName = 'cos.txt';
  3. $content = fread(fopen($fileName, 'r'), filesize($fileName));
  4. ?>
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: 24.07.2025 - 17:49