Autor Zpráva
inocencz
Profil
Napadlo mě udělat obrázek měnící se po každém načtení stránky. Bylo by to na fórum - takovýten systém kdy napíšete do nastavení vašeho profilu url obrázku a pak se bude u jména každého vašeho příspěvku zobrazovat obrázek načtený z toho url. Vás se ptám jak to udělat aby url obrázku zůstalo stejné ale obrázek samotný se náhodně měnil - jde to? Chápu věci ohledně dvou souborů stejného jména v jednom adresáři atd. jen mě zajímá jestli by něco takového šlo spáchat pomocí PHP nebo javasciptu. děkuji
ah01
Profil
JavaScript, ne - musí se použít serverovej skript. V php to není problém ...
ninja
Profil
Samozrejme. Na cilovem URL bude misto obrazku cekat nejaky skript, ktery bude podstrkavat ruzne obrazky. Muze se to udelat pres PHP, CGI skript, nebo primo webserver.
ah01
Profil
Třeba takhle:

<?php

$d = dir(dirname(__FILE__) . '/');
$imgs = array();
while($f = $d->read()) {
if( is_file($f) && $f != basename(__FILE__) )
$imgs[] = $f;
}
$d->close();

if(count($imgs) <= 1) die('no img');

$rndImg = $imgs[array_rand($imgs)];

list(,,$type) = getimagesize($rndImg);

header("Content-type: " . image_type_to_mime_type($type));
readfile($rndImg);

?>


Tenhle skript umísti do adresáře, ve kterém jinak nebude nic, jen obrázky na výběr. Pokud zadáš do prohlížeče adresu skriptu, dostaneš náhodně jeden obrázek z adresáře.

PS: neručím, že je skript 100%ní, funguje, ale psal jsem to 5min
inocencz
Profil
Díky - myslel jsem si že javascript ne - ten je myslim udělanej tak aby podobný čachry s daty neuměl a uživatelé měli klidný spánek.
Jo a díky za ten script - ještě dám vědět jak to funguje.
inocencz
Profil
Takže funguje to na jedničku - ještě jednou díky moc.
havlika
Profil
Ale uměl! Tady je.

soubor zmena.js
Pics = new Array(4); 

Pics[0]='<IMG SRC="dat/1.JPG" ALT="infofoto1" Border=1 width="139" height="104" style="border-color: blue">';
Pics[1]='<IMG SRC="dat/2.JPG" ALT="infofoto2" Border=1 width="139" height="104" style="border-color: green">';
Pics[2]='<IMG SRC="dat/3.JPG" ALT="infofoto3" Border=1 width="139" height="104" style="border-color: black">';
Pics[3]='<IMG SRC="dat/4.JPG" ALT="infofoto4" Border=1 width="139" height="104" style="border-color: black">';
document.write(Pics[Math.floor(Math.random() * Pics.length)]);


a do stránky stačí dát:
<SCRIPT src="zmena.js" type=text/javascript></SCRIPT>


Já používám tohle,protože si tady můžu upravit každý obrázek zvlášť a taky může být každý úplně jinde.
ah01
Profil
havlika
To ale nejde použít jako obrázek do profilu...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0