Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyznaczanie końca zawartości pliku
pawelgdz
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


Witam czy istnieje funkcja która sprawdza plik i pobiera z niego tylko zapisane w nim dane?

Mam plik o nazwie produkty.txt ten plik sobie wyswietlam z zastosowaniem explode()

w pętli for ...

na stronie wyswietlają mi się coprawda dane ... ale strona jest o wiele dłuższa i powstaje wiele pustych miejsc w pętli mam ..


  1. <?
  2.  ....
  3.  
  4.  $ilosc = filesize("produkty.txt");
  5.  
  6. for($i=0; $i<$ilosc; $i++) {
  7.  
  8.  echo $z[$i];
  9.  
  10. }
  11. ?>


probowałem już count() filesize() w count() wyskakuje za mało rekordów nie odczytuje mi całego pliku a w filesize() powstają puste miejsca
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




pokaz caly kod, jak czytasz plik, co to za tablica $z?
piszesz o explode, na czym ty tego uzywasz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
NuLL
post
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


file_get_contents

O to chodzi ? Co masz na mysli mowiac sprawdza plik ? To czy istnieje sprawdza sie file_exists


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
pawelgdz
post
Post #4





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


  1. <?
  2.  
  3. include "connect.php";
  4.  
  5.  $deskryptor = fopen("produkty.txt", "rt");
  6.  $dane = fread($deskryptor, filesize("produkty.txt"));
  7.  $z = explode("\t", $dane);
  8.  
  9.  $content = file("produkty.txt");
  10.  $tmp = filesize("produkty.txt");
  11.  
  12.  echo "<table border=0 cellspacing=0 cellpadding=2 align=left width=1000>";
  13.  $i = 5;
  14. for($i; $i<$tmp; $i++) {
  15.  
  16.  
  17.  if ($j == 0)
  18.  echo "<tr>";
  19.  else if ($j == 4)
  20. {
  21.  echo "</tr>";
  22.  $j=0;
  23. }
  24. $j++;
  25.  
  26.  
  27. echo "<td valign=top align=left>";
  28.  
  29.  echo $z[$i-1];
  30.  
  31. echo "</td>"; 
  32.  
  33. }
  34. if ($j != 0)
  35. echo "</tr>";
  36.  
  37. echo "</table>";
  38.  
  39.  
  40.  fclose($deskryptor);
  41.  
  42. ?>


w pliku tresci oddzielane sa tabulatorami smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no i teraz zastanow sie co zrobiles winksmiley.jpg

w $z masz tablicę, kotrej elementami są kolejne tresci.

a po tej tablicy lecisz po ilosci znakow. wiadomo ze znakow masz wiecej niz tresci
zamiast:
  1. <?php
  2. $tmp = filesize("produkty.txt");
  3. ?>

powinno byc:
  1. <?php
  2. $tmp = count($z);
  3. ?>

i czemu $i zaczynasz od 5?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pawelgdz
post
Post #6





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


a teraz pytanko z innej beczki bo zastanawiam się jak dodać to do bazy danych skoro mam tabele ...

  1. id (int 255) nazwa (varchar 255) cena (varchar 255)


a kazdy z elementów miesci się w tej tablicy sad.gif czyli $z[$i]
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale jak w tej tablicy? co 3?
a moze kazda taka trojka to jest jedna linia w pliku? jesli tak o wczytaj ten plik przy pomocy file() (patrz info w manualu) a potem na kazdej linijce uzyj explode.

ps: a czemu pole cena to varchar?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pawelgdz
post
Post #8





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


hmm cena varchar ? nie wiem jakos zawsze tak robie ... lepszy int ?
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no jesli dane będą z zakresu liczb calkowitych... to tak, lepszy int winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pawelgdz
post
Post #10





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


nie rozumiem tego dzielenia wierszy pliku pojedyńczo ... nie wiem jak to zrobić sad.gif
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jesli twoj plik ma taką postac:
Kod
id1 nazwa1 cena1
id2 nazwa2 cena2
.....

to wczytasz plik liniami. do tego najlepiej nadaje sie file(), ktory zwroci ci tablicę. kazdy element tej tablicy to jedna linia z pliku.

teraz przelatujesz po tej tablicy (for lub foreach lub inne) i na kazdym jej elemencie robisz explode, by dostac juz konkretne id, nazwa, cena. w ten sposob bedziesz mial dane, ktore chcesz wstawic do bazy. poprobuj,zobacz co ci zwroci file(), pokombinuj... w ten sposob moze nauczysz sie wiecej winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pawelgdz
post
Post #12





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


rozumiem dziekuje bardzo !
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 Aktualny czas: 22.08.2025 - 02:00