Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Wczytanie danych z pliku do tabeli
simonX
post 24.01.2009, 12:20:22
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Dane w pliku zapisują mi się w takiej postaci :
  1. <?php
  2. $uploaddir = 'upload/';
  3. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  4.  
  5. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  6.   echo "<center><font color=\"white\" size=\"4\">Plik został poprawnie załadowany!</center><br>";
  7.  
  8. $nazwa='spis.txt';
  9. $old=file_get_contents($nazwa);
  10. $string="<a href=\"$uploadfile\">".basename($_FILES['userfile']['name'])."Rozmiar:".($_FILES['userfile']['size'])."</a><br>";
  11. $new=$string.$old;
  12. $plik=fopen($nazwa,"w");
  13. fwrite($plik,$new);
  14. echo "<center><a href=\"odczyt.php\">Przejdz do listy</a></center>";
  15.  
  16.    
  17.  
  18. }
  19. else
  20. {
  21.   echo "błędny plik.\n";
  22. }
  23.  
  24. fclose($plik);
  25. ?>


I teraz chcialbym żeby nazwa pliku byla wczytywana do jednej komórki a rozmiar pliku do drugiej. Z pomocą może przyjść funkcja split("Rozmiar:",$old) tylko w jaki sposób je pozniej odzielnie wczytac do komórek konkretnych. Trochę pogmatwane, ale chyba wiecie o o co chodzi:P


--------------------
Go to the top of the page
+Quote Post
erix
post 24.01.2009, 13:45:39
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A czemu zapisujesz to w takim dziwnym formacie...?

Cytat
Z pomocą może przyjść funkcja split("Rozmiar:",$old) tylko w jaki sposób je pozniej odzielnie wczytac do komórek konkretnych.

A czy dział o tablicach w manualu przeczytałeś?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 24.01.2009, 16:52:50
Post #3





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


W złym formacie ? to jak dane należy zapisać by później łatwo je wczytać?


--------------------
Go to the top of the page
+Quote Post
erix
post 24.01.2009, 17:31:16
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
to jak dane należy zapisać by później łatwo je wczytać?

No np. dane||dane i potem wszystko ładnie explode" title="Zobacz w manualu PHP" target="_manualm obrabiasz. W sumie wyjdzie na to samo, ale jeśli będziesz chciał zmienić format linków, to będzie o kilka operacji mniej do wykonania.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 24.01.2009, 20:34:52
Post #5





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


To zrobiłem za pomocą explode, ale wczytuje mi tylko pierwszy zapis i dalej nie czyta a użyłem pętli:

  1. <?php
  2.  
  3. $plik=file("spis.txt");
  4.  
  5.  
  6. for($linia=0; $linia < count($plik); $linia ++ ){
  7.  
  8.  
  9. $dziel=explode("Rozmiar:",$plik[$linia]);
  10.  
  11. echo $dziel[0];
  12.  
  13. }
  14.  
  15. ?>


--------------------
Go to the top of the page
+Quote Post
erix
post 24.01.2009, 21:24:24
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ale wczytuje mi tylko pierwszy zapis i dalej nie czyta a użyłem pętli:

Bo file" title="Zobacz w manualu PHP" target="_manual rozdziela na linie wg znaku końca linii (\n), a nie <br/>.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 25.01.2009, 18:17:24
Post #7





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


No to użyłem file_get_contents, ale też nie działa tongue.gif może bymi ktoś podpowiedział jaką funkcję mam wykorzystać.


--------------------
Go to the top of the page
+Quote Post
erix
post 25.01.2009, 22:08:47
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż, jak próbowałeś, co konkretnie nie działa.

file_get_contents" title="Zobacz w manualu PHP" target="_manual Ci nie rozdzieli, jak coś. winksmiley.jpg


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 25.01.2009, 22:14:22
Post #9





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Nie nie za pomocą file_get_contents próbowałem pobrać dane z pliku bo mowiłeś ze file tylko czyta do pewnego znaku
oto kod
  1. <?php
  2.  
  3. $plik=file_get_contents("spis.txt");
  4. for($linia=0; $linia<count($plik); $linia ++ ){
  5. $dziel=explode("Rozmiar:",$plik[$linia]);
  6. echo $dziel[0];
  7. }
  8. ?>


--------------------
Go to the top of the page
+Quote Post
erix
post 25.01.2009, 22:24:41
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Najpierw musisz podzielić ten plik na linie, a Ty tego nie robisz.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 25.01.2009, 22:29:01
Post #11





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


To już nie wiem jak daj jakiś przykład albo cos żebym się miał gdzie zahaczyć.


--------------------
Go to the top of the page
+Quote Post
erix
post 25.01.2009, 22:32:05
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://pl.php.net/manual/en/function.fgets.php#47536


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 25.01.2009, 23:16:58
Post #13





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Ten sposób też nie działa już próbowałem wcześniej:(.


--------------------
Go to the top of the page
+Quote Post
erix
post 26.01.2009, 16:00:35
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż, jak próbowałeś. Trzeba połączyć tę funkcję, którą podlinkowałem z explode" title="Zobacz w manualu PHP" target="_manualm.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 27.01.2009, 18:08:55
Post #15





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Oto cały kod:
  1. <?php
  2. $nazwa=("ksiega.txt");
  3. $plik=fopen($nazwa, "r");
  4.  
  5. while(!feof($plik)){
  6. $bufor=fgets($plik);
  7. }
  8. for($linia=0; $linia<count($bufor); $linia ++ ){
  9. $dziel=explode("Rozmiar:",$bufor[$linia]);
  10. echo $dziel[0];
  11. }
  12. ?>


--------------------
Go to the top of the page
+Quote Post
erix
post 27.01.2009, 18:10:26
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. while(!feof($plik)){
  3. $bufor=fgets($plik);
  4. }
  5. ?>


Widać, jak uważnie czytasz, co ja piszę:
Cytat(erix @ 24.01.2009, 21:24:24 ) *
Bo file" title="Zobacz w manualu PHP" target="_manual rozdziela na linie wg znaku końca linii (\n), a nie <br/>.


Nie bez powodu zalinkowałem do funkcji z komentarza manuala PHP.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 27.01.2009, 18:18:11
Post #17





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Słuchaj nie znam sie na tym po za tym nie umiem angielskiego ile postów nabiłem a mógłeś po prostu napisać ten przykład i by było po kłopocie:/


--------------------
Go to the top of the page
+Quote Post
erix
post 27.01.2009, 18:37:44
Post #18





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Na tym forum nie dajemy gotowców. Przynajmniej ja nie daję. Wywal mi licznik postów, a i tak Ci nie dam gotowca.

Cytat
Słuchaj nie znam sie na tym po za tym nie umiem angielskiego
  1. to czytaj uważnie, co piszę, to się dowiesz winksmiley.jpg
  2. chcesz jechać samochodem i nie wiesz, jak kierownicą kręcić? Masz Google translate, masę słowników.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
simonX
post 27.01.2009, 20:27:11
Post #19





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 30.07.2008

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


Ehhh..... dobra będę musiał sam dojść do tego bo mi nikt nie pomoże:( ale czytałem twoje portfolio i muszę powiedzieć, że mi zaimponowałeś tongue.gif.Pozdro

Dobra udało mi się zrobić żeby wypisywało tą nazwę, ale nadal wypisuje tylko z pierwszego wpisu
  1. <?php
  2. $nazwa="spis.txt";
  3. $plik = fopen($nazwa, "r");
  4. if ($plik) {
  5.    while (!feof($plik)) {
  6.        $buffer = fgets($plik;
  7. $dziel=explode("Rozmiar:",$buffer);
  8. echo $dziel[0];// tutaj jakas petle jeszcze czy cus?
  9. }//while
  10.  
  11. fclose($plik);
  12. }//if
  13. ?>


--------------------
Go to the top of the page
+Quote Post
erix
post 27.01.2009, 22:11:11
Post #20





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. $buffer = fgets($plik;
  3. ?>


fgets" title="Zobacz w manualu PHP" target="_manual rozdziela linie wg "\n", czyli znaku nowej linii, którego w Twoim pliku NIE MA, co już Ci zasygnalizowałem:
Cytat(erix @ 25.01.2009, 22:32:05 ) *

ale Ty dalej swoje tongue.gif


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 13.07.2025 - 21:46