Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pobieranie danych z pliku
Forum PHP.pl > Forum > Przedszkole
LeNy
Witam. Stworzylem rejestracje na plikach textowych z imieniem nazwiskiem itp.
Plik zapisuje je w pliku tak:
Kod
$ciag = "$login:$haslo:$imie:$nazwisko:$img";


i chcę żeby po zalogowaniu dla każdego usera pobieralo jego dane do edycji i oczywiscie avatar

stworzyłm coś takiego:
Kod
<?php
$file = ("users/$user.ciag liczb");
$open = fopen("$file", "w+");
echo '<img src="'.$img.'"> ';
?>


ale nie działa. Co mam zrobić questionmark.gif
nospor
a napisz dokladnie co wg. ciebie kod co podales ma robic.

do kodu php uzywaj bbcode php !
LeNy
chcę aby z pliku users/user.ciag_liczb pobierał mi dane czego nie robi.

Dane które chce aby pobierał:
$imie
$nazwisko
$img
nospor
no ok, ale czemu nie czytasz w manualu na temat funkcji ktorych uzywasz? fopen zwraca ci jedynie wskaznik do pliku.

Jak chcesz pobrac jego zawartosc to najszybciej file_get_contents(). ale to tez zwroci ci tylko tekst pliku a nie wykona jego zawartosci. jak chcesz wykonac to eval() lub wogole include()

Cytat
Dane które chce aby pobierał:
$imie
$nazwisko
$img
to juz wogole nie tedy droga.
Dobra, rozłączam sie. com mial napisac to napisalem smile.gif
LeNy
to jak wkoncu mam zrobić żeby pobierało mi te dane z pliku zalogowanego usera??
piotrooo89
każdy user ma swój plik? czy jest jeden w którym masz wszystkich?
sada
W przybliżeniu:

Kod
<?php
   $ciag=file_get_contents($file);
   $kawalki_ciagu=explode(":",$ciag);
   $login=  $kawalki_ciagu[0];
   $haslo=  $kawalki_ciagu[1];
   $imie=  $kawalki_ciagu[2];
     $nazwisko=  $kawalki_ciagu[3];
   $img=  $kawalki_ciagu[4];
   ?>
piotrooo89
~sada a co jeśli ma w pliku zapisanych wszystkich userów?
sada
Piotrooo89

W pętli rozbić na użytkowników i w pętli wybrać if-em odpowiedniego.
LeNy
każdy użytkownik ma swój plik. Sada ten ko jest poprawny??
piotrooo89
tak jest poprawny.
LeNy
Czyli:
Kod
<?php
   $ciag=file_get_contents($file);
   $kawalki_ciagu=explode(":",$ciag);
   $login=  $kawalki_ciagu[0];
   $haslo=  $kawalki_ciagu[1];
   $imie=  $kawalki_ciagu[2];
    $nazwisko=  $kawalki_ciagu[3];
   $img=  $kawalki_ciagu[4];
   ?>

Ale musze dodawać takto:
Kod
$file = ("users/$login.liczby_usera");

questionmark.gif
piotrooo89
?

robisz po prostu:

  1. <?php
  2. $file = "users/$login.liczby_usera";
  3. $ciag=file_get_contents($file);
  4. $kawalki_ciagu=explode(":",$ciag);
  5. $login=  $kawalki_ciagu[0];
  6. $haslo=  $kawalki_ciagu[1];
  7. $imie=  $kawalki_ciagu[2];
  8. $nazwisko=  $kawalki_ciagu[3];
  9. $img=  $kawalki_ciagu[4];
  10. ?>
LeNy
no dalem tak ale nie moge sie zalogować wogule :/
piotrooo89
pokaż jak to zrobiłeś... bez kodu to nic nie będzie...
LeNy
w panelu uzytkownia po zalogowaniu:
Kod
<?php
$file = ("users/$login.###");
$ciag=file_get_contents($file);
$kawalki_ciagu=explode(":",$ciag);
$login=  $kawalki_ciagu[0];
$haslo=  $kawalki_ciagu[1];
$imie=  $kawalki_ciagu[2];
$nazwisko=  $kawalki_ciagu[3];
$img=  $kawalki_ciagu[4];
?>

i teraz mam waring:
Warning: file_get_contents(users/.###) [function.file-get-contents]: failed to open stream: No such file or directory in /home/accounts_l/leny/public_html/konto.php on line 13

Bo ja chce żeby użytkownik po zalogowaniu miał swój avatar ktory dodał i swoją edycje profilu. i do tego potrzebuje kod pobierania danych z pliku usera
piotrooo89
nie ma takiego pliku... te hash'e to co to jest?
LeNy
hashe wpisalem zamiast liczb w poscie tylko oryginalnie są to liczby
piotrooo89
a te liczby są reprezentantem czego? bo jeśli są one zmienne to nie będzie działać.
LeNy
nie to tylko nazwa pliku np zenek.cl50cp1eoq9zj3scotij1a8

dobra zacznijmy od tego jak ma mi pobierac te dane. Otwarty plik users/test.cl50cp1eoq9zj3scotij1a8
wyglada tak:
Kod
zenek:zenek:Stefan:Stefanczyk:http://img87.imageshack.us/img87/4557/eheh.jpg


po każdym dwukropku jest następna rzecz zaczynając od loginu kończąc na awatarze
piotrooo89
a dobrą masz ścieżke do pliku?

#EDIT

ja na szybko sobie to przetestowałem:

wiec tak mam plik: piotr.cl50cp1eoq9zj3scotij1a8
Kod
piotroo:piotr123:piotr:olaszewski:<img src="6.jpg" />


i plik dajmy na to index.php
  1. <?php
  2. $file = "piotr.cl50cp1eoq9zj3scotij1a8";
  3. $ciag = file_get_contents($file);
  4. $kawalki_ciagu = explode(":",$ciag);
  5.  
  6. print_r($kawalki_ciagu);
  7. ?>


i wszystko działa w najlepszym porządku.
LeNy
no ta jest dobra dla usera zenek

ale chce zeby dla kazdego usera pobieralo z jego pliku
<?php
$file = file('users/$user.cl50cp1eoq9zj3scotij1a8');
foreach($file as $value) {
$exp = explode($value);
echo '<br />'.$exp[5].'<br />';
}
?>
i powinno czytać avatar tylko zenie pobiera nazwy usera :/
piotrooo89
no ale musisz gdzieś mu podać jaka to ma być nazwa... przecież jak masz pustą zmienna to sie dziwisz że Ci nie wyświetla.

zrób tak i powiedz co sie dzieje:

  1. <?php
  2. $file = "users/zenek.cl50cp1eoq9zj3scotij1a8";
  3. $ciag = file_get_contents($file);
  4. $kawalki_ciagu = explode(":",$ciag);
  5.  
  6. print_r($kawalki_ciagu);
  7. ?>
LeNy
ale nie może byc zenek bo jak zaloguje sie np marcin to bedzie mial profil zenka rozumiesz o co mi chodzi questionmark.gif
piotrooo89
tak! ale pierw sprawdź co Ci wysłałem!
LeNy
zle pobiera bo avataru nie pobiera nie działa :/
piotrooo89
wkleiłeś dokładnie ten kod co Ci dałem?
LeNy
tak i mam Array i pokolei wszystkie dane mi wywala z pliku
piotrooo89
no i teraz aby wyciągnąć avatar zenka odwołujesz się tak:

  1. <?php
  2. $file = "users/zenek.cl50cp1eoq9zj3scotij1a8";
  3. $ciag = file_get_contents($file);
  4. $kawalki_ciagu = explode(":",$ciag);
  5.  
  6. $avatar = $kawalk_ciagu[4];
  7. echo $avatar;
  8.  
  9. print_r($kawalki_ciagu);
  10. ?>



i teraz najważniejsze aby było to dynamiczne zamiast zenka dajesz zmienną np $users która nie może być pusta! ma za to przechowywać nazwę usera skądś pobraną (nie wiem skąd to pobierasz bo nie napisałeś)
LeNy
nadal wywala cały ciąg

Kod
Array (     [0] => stefan     [1] => djleny     [2] => Stefan     [3] => Stefanczyk     [4] => [img]http://stacjawgw.pl/http%20%20%20%20%5B5%5D%20=%3E%20//img87.imageshack.us/img87/4557/eheh.jpg[/img] )


i nie wiem dlaczego ale adres obrazka zmienia :/
piotrooo89
a masz ten obrazek w tablicy w takiej postaci: <img src="http://stacjawgw.pl/http%20%20%20%20%5B5%5D%20=%3E%20//img87.imageshack.us/img87/4557/eheh.jpg" /> ?

bo coś mi się ta ścieżka nie podoba. weź sobie najlepiej na jakimś obrazku na dysku przetestuj a dopiero potem na linkach zewnętrznych.
LeNy
nie mam bez stacjawgw.pl
Fifi209
Zrób sobie tak:

  1. <?php
  2. $ciag = file_get_contents('users/filename');
  3. list($login, $haslo, $imie, $nazwisko, $img) = explode(':', $ciag);
  4.  
  5. echo '<img src="'.$img.'"/>';
  6. ?>


Nie wiem gdzie problem. ;d

Pytanie. Czy każdy user ma inną kombinację tego rozszerzenia ?
LeNy
users/filename nie przeczyta musze zrobic zeby pobieralo login zalogowanego w panelu
piotrooo89
Cytat(LeNy @ 23.04.2009, 20:49:27 ) *
users/filename nie przeczyta musze zrobic zeby pobieralo login zalogowanego w panelu


dokładnie. skądś musisz podać ten login. do zrobienia tego naprawdę wystarczą Ci 2 (no chyba że robisz przykładem ~fifi209 to potrzebne są 3).
Fifi209
w filename masz sobie zmienną podstawić, która odpowiada za nazwę pliku... boże to przykład był
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.