Autor Zpráva
adamico
Profil
Zdravím.

Chcem sa opýtať ako sa dá spraviť taká vec, že keď má užívateľ obrázok, tak ho zobrazí a pokiaľ ho nemá tak zobrazí mnou predvolený obrázok (napr. Anonym a pod.)

V princípe:
# Viem že do alt="" nemôžem dať obrázok, ja len chcem demonštrovať ako som chcel aby to fungovalo
<img src="uživateľov_obrázok.jpg" alt="mnou_predvolený_obrázok.jpg">
DJ Miky
Profil
V Internet Exploreru to jde pomocí JavaScriptu a události onerror.

Nejspolehlivější řešení by bylo pomocí .htaccess – neexistující požadavky přesměrovat na náhradní obrázek:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.jpg$ mnou_predvoleny_obrazok.jpg [L]


Nebo je možnost řešit to v PHP:
if(file_exists('uzivatelov_obrazok.jpg')) echo '<img src="uzivatelov_obrazok.jpg">';
else echo '<img src="mnou_predvoleny_obrazok.jpg">';
adamico
Profil
no ja by som volil to PHP lenže nefunguje mi to:

<?php 

if(file_exists("$curauth->userphoto_image_file"));
echo $curauth->userphoto_image_file;
else echo '<img src="../no_photo.jpg">';

?>">
Manq
Profil
adamico
Nepíše to nějakou chybu? Přebývá ti tam středník.
adamico
Profil
jj hádže:
Parse error: syntax error, unexpected T_ELSE in /../subor.php on line 23

a kde je chyba ?
Manq
Profil
adamico
To bude tím středníkem v
if(file_exists("$curauth->userphoto_image_file"));
na konci.
adamico
Profil
no, už to funguje ale aj ked existuje súbor, tak hodí no_photo.jpg
joe
Profil
if(file_exists($curauth->userphoto_image_file))

Nelíbí se mi tam ty uvozovky... Ale možná tam mohou být, já bych je tam nepsal:)
adamico
Profil
joe
to som skúsil ako prvé ;).. ale bez odozvy
nightfish
Profil
pak zřejmě $curauth->userphoto_image_file obsahuje jméno souboru, který neexistuje (proměnnou bych si vypsal a podíval se, jestli je, v případě relativní cesty, dostupná z umístění skriptu, ve kterém to testuješ)
adamico
Profil
nightfish
Keď si to dám takto:
<img src="http://nieco.sk/<?php echo $curauth->userphoto_image_file; ?>" alt="No photo">

Tak mi to pekne ukáže obrázok (pretože je nahraný na servri)

Ale keď to dám takto:
<img src="http://nieco.sk/<?php 

if(file_exists($curauth->userphoto_image_file))
echo $curauth->userphoto_image_file;
else echo '../no_photo.jpg';

?>">


Tak zobrazí no_photo.jpg
nightfish
Profil
a jaký je obsah proměnné $curauth->userphoto_image_file? (v jednom libovolném případě)
adamico
Profil
nightfish
admin.jpg
nightfish
Profil
a existuje ve složce, ve které je skript s tou podmínkou, soubor admin.jpg?
adamico
Profil
nie ten súbor kde je script je úplne inde ako je admin.jpg, avšak to je rs wordpress a on si to pravepodobne sám nájde (curauth)..
nightfish
Profil
a jaký je obsah proměnné $curauth->userphoto_image_file
admin.jpg
a existuje ve složce, ve které je skript s tou podmínkou, soubor admin.jpg?
nie ten súbor kde je script je úplne inde ako je admin.jpg, avšak to je rs wordpress a on si to pravepodobne sám nájde (curauth)..
kdyby si to našel, tak to bude fungovat, což?
prostě funkci file_exists musíš dát název toho souboru i s cestou

ve WP se nevyznám, takže víc poradit neumím
joe
Profil
Zkus toto :)
<img src="http://nieco.sk/<?= file_exists("http://nieco.sk/" . $curauth->userphoto_image_file) ? "http://nieco.sk/" . $curauth->userphoto_image_file : ".. no_photo.jpg";?>">
adamico
Profil
nightfish
prostě funkci file_exists musíš dát název toho souboru i s cestou

no lenže to má fungovať komplexne na všetkých užívateľov, neviem si živo predstaviť že by som to musel vždy pri novom užívavateľovi vyplňať...
DJ Miky
Profil
no lenže to má fungovať komplexne na všetkých užívateľov, neviem si živo predstaviť že by som to musel vždy pri novom užívavateľovi vyplňať...

Cestu vyplň, když název souboru je v té proměnné.
adamico
Profil
joe
nefunguje ani to. Stále to vyhadzuje iba no_photo

DJ Miky
no ano, tl som ešte nevidel ten joe-ho príklad.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0