| 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: 17 let
|
|||
0