Autor | Zpráva | ||
---|---|---|---|
1ight Profil |
#1 · Zasláno: 10. 6. 2008, 00:18:49 · Upravil/a: 1ight
Dobrý večer,
chtěl bych se Vás zeptat na radu, mám uživatelskou sekci zde si klient dá vyhledat nějakého uživatele. Uživatel se mu najde a zde budou třeba 4 výsledky např Petr, Petr_kuba, Petr333, Lukáš_Petr Každej uživatel má obrázek která má vlastní cestu k uživateli uživateli např www.neco.cz/bla/uživatel/foto.jpg a tu cestu k uživatelům chci zamaskovat proto jsem chtel použít hiden url a zde je problém že když používám proměnnou $_SESSION['img_dir'] to je uživatelova složka, který se mění s funkcí for,.... a když se přepíše cesta $_SESSION['img_dir'] funkcí for na dalšího uživatele tak se ten první obrazek taky zmeni na toho druhého uživatele. V praxi mi to udělá že Petr, Petr_kuba,.. ,.. všichni mají obrázek toho posledního načteného uživatele viz Lukáš_Petr.. Když na konci stránky udělám unset($_SESSION['img_dir']) tak to udělá že nikdo nemá obrázek. Struktura skriptu vypada nejak takto a chtel bych se zeptat jestli nevíte jak to nejak řešit? Aby mi ty obrazky držely problém je jen u $_SESSION['img_dir'] /// soubor neco.php session_start(); for .... { zpracuj a definuj uživitalovu cestu ... $_SESSION['img_dir'] = cesta; echo '<img src="a.php?folder=xy&file=file.jpg">'; } /// soubor a.php session_start(); $imagepath = path . $_SESSION['img_dir'] . '/' . $_REQUEST['folder'] . '/' . $_REQUEST['file']; $imageinfo = getimagesize( $imagepath ); if ($imageinfo[2] == 1) { $imagetype = "gif" ; } elseif ($imageinfo[2] == 2) { $imagetype = "jpeg" ; } elseif ($imageinfo[2] == 3) { $imagetype = "png" ; } else { header( "HTTP/1.0 404 Not Found" ); exit ; } header( "Content-type: image/$imagetype" ); @readfile( $imagepath ); Zkoušel jsem na internetu hledat víc těchto skriptu a dělalo mi to zatím u asi 2 co jsem zatím vyzkoušel. Kdyby někdo věděl prosím napište. |
||
Ssob Profil |
#2 · Zasláno: 10. 6. 2008, 01:12:09
Duvod je jednoduchy, nejdriv se na servru vyhodnoti stranka neco.php a do session se ulozi cesta k posledni fotce (porad se to prepisuje) a az pak si html prohlizec postupne zada jednotlive obrazky, jelikoz je v session posledni cesta, server vrati vzdy tentyz obrazek.
Ja bych si do session ukladal pole vsech obrazku a jako parametr get bych predaval idnex. Ukazka (nejspis nedokonala, pisu z hlavy): /// soubor neco.php session_start(); for ($i = 0; $i < pocet; $i++) { $_SESSION['img_dir'][$i] = cela cesta k obrazku; echo '<img src="a.php?idnex='.$i.'">'; } /// soubor a.php session_start(); $imagepath = $_SESSION['img_dir'][$_GET['index']]; $imageinfo = getimagesize( $imagepath ); if ($imageinfo[2] == 1) { $imagetype = "gif" ; } elseif ($imageinfo[2] == 2) { $imagetype = "jpeg" ; } elseif ($imageinfo[2] == 3) { $imagetype = "png" ; } else { header( "HTTP/1.0 404 Not Found" ); exit ; } header( "Content-type: image/$imagetype" ); @readfile( $imagepath ); |
||
1ight Profil |
#3 · Zasláno: 10. 6. 2008, 02:05:17
Děkuju moc, v tu chvili co jsi mi odepsal už jsem na tvý idee pracoval.... asi tak v 15procentech už jsem byl :-) pak jsem to dodelal a zase chyba on ten session prostě neuloží. Nakonec jsem to udělal, že jsem to do tý jedný session přidával pořád za sebe:
unset($_SESSION['dir']); for ( ) { $_SESSION['dir'] .= '1cesta' . '|'; echo '<img src="">'; ... ..... } výsledek pak je např $_SESSION['dir'] = '1cesta' . '|' . '2cesta xy' . '|' . 'a 3nejaka cesta' . '|'; v requestu si tam definuju ten určitý index jak jsi mi doporučil a pak díky indexu to rosekám a identifikuju ten určitý díl session a ono to pak nějak tak funguje. Sláva :-) Možná jsem předtím někde udělal chybu, že mi to tak nějak nešlo, ale já na to nemam nervy :-) Jinak díky moc za tip a radu, třeba to taky někdo k něčemu užitečnýmu využije. Dobrou |
||
1ight Profil |
#4 · Zasláno: 10. 6. 2008, 02:42:55
Nakonec to jde tím array jak píšeš Ty .. někde jsem tam měl při zpracování chybu.
|
||
Časová prodleva: 16 let
|
0