Autor | Zpráva | ||
---|---|---|---|
matesek Profil |
#1 · Zasláno: 12. 12. 2009, 16:36:28 · Upravil/a: matesek
Takové téma tady jistě bylo , ale zeptám se tedy znovu , jaký kód zjistí , kolik souborů ( fotek ) je v dané složce . Mám stránky , kde mám random obrázek a nechce se mi přepisovat kód pokaždé , když vložím novou fotku . Dalo by se to nějak udělat , že zjistí počet položek ve složce a pak to dá do proměnné ? Ta proměnná by byla max. pro Random číslo , podle kterého by se jmenoval obrázek ?
Nynější kód : <?php $cislo=Rand(1,44); echo" <a rel=nofollow href=\"foto/$cislo.jpg\" target=_blank> <img src=\"foto/$cislo.jpg\" title=\"$cislo.jpg\" align=\"left\" width=\"100\" height=\"100\" /> </a> " ?> Dalo by se to prosím udělat nějak jednodušeji ? Třeba , abych nemusel přejmenovávat všechny fotky na číslo 1 - xx ? |
||
MCKAY Profil |
#2 · Zasláno: 12. 12. 2009, 16:39:22
matesek:
Funkce na náhodný obrázek tu na fóru skutečně již byla, takže ji sem uvedu, a všechny upozorňuji, že nejsem její autor. <?php $cesta="img"; // cesta k souborum-obrazkum (slozka) $slozka = dir($cesta); // pole podporovanych pripon obrazku $pole_pripon=array('png','bmp','gif','jpg','jpeg','PNG','BMP','GIF','JPG','JPEG'); $pole_souboru = array(); // vytvori zatim prazdne pole pro soubory while($soubor=$slozka->read()) /* precte soubory ve slozce */{ if ($soubor=="." || $soubor=="..") continue; // vylouci stejny a nadrazeny adresar $soubor_n = explode(".", $soubor); // rozdeli priponu a nazev souboru do pole $pripona = $soubor_n[1]; // pripona souboru foreach($pole_pripon as $pripona_z) // prohledani pole pripon { // kontrola souboru jestli je soubor obrazek (podle pripony), pokud ano pokracuj if ($pripona==$pripona_z){$pole_souboru[] = $soubor; // ulozi nazvy souboru do predem vytvoreneho pole }}} $obrazek_vyber = array_rand(array_flip($pole_souboru),1); // vybere 1 nahodny obrazek z pole obrazku $obrazek_nahod = $cesta."/".$obrazek_vyber; // vytvori kompletni cestu k obrazku echo '<img src="'.$obrazek_nahod.'" border="0">'; // zobrazi nahodny obrazek ?> |
||
Alphard Profil |
#3 · Zasláno: 12. 12. 2009, 16:59:57 · Upravil/a: Alphard
Připadá mi to zbytečně složité, tady mám jen .jpg, ale většinou to stačí:
<?php $path = "img/"; $obrazky = glob("$path*.jpg"); shuffle($obrazky); echo "<img src=\"$obrazky[0]\">"; // jeden náhodný echo "<img src=\"$obrazky[1]\">"; // druhý náhodný |
||
valecekm Profil |
#4 · Zasláno: 12. 12. 2009, 17:32:44
Alphard:
V tomto pripade to opravdu staci a je to lepsi reseni nez to me. Pokud tam neni vicero druhu typu souboru, ale opravdu jde jen o jednoduche vybrani, tak doporucuji tohle. MCKAY-> matesek: Pokud by jsi pouzil tohle moje reseni, doporucuju to opravit jako jsem to udelal nakonec i ja, jednali se o freehost. Stejne i tak doporucuji opravit ;-). Zde |
||
MCKAY Profil |
#5 · Zasláno: 12. 12. 2009, 20:17:32
valecekm:
Myslel jsem si, že je to skript někoho právě z této diskuse :-). |
||
matesek Profil |
#6 · Zasláno: 13. 12. 2009, 08:19:28
MCKAY:
Díky za kód , zkusím ho . Pochopil jsem podle toho , že nemusím přejmenovávat soubory , ale stačí , když je dám do jedné složky s jakýmkoliv jménem . Je to zkustečně tak ? Mohl by sem ještě někdo dát , třeba jen odkaz , na zobrazení všech obrázků pod sebou v miniatuře ? Nebo třeba návrh na nějakou pěknou fotogalerii ? |
||
Alphard Profil |
#7 · Zasláno: 13. 12. 2009, 09:27:59
matesek:
„že nemusím přejmenovávat soubory , ale stačí , když je dám do jedné složky s jakýmkoliv jménem“ Ano, ani nemusí být v té složce samy, stačí, když jejich názvy budou končit .jpg. Jestli chcete více formátů, tak je dejte do samostatné složky a odmažte ten filtr. „na zobrazení všech obrázků pod sebou v miniatuře ?“ Výpis a řazení složek podle data. Miniatury si vytvořte do samostatného adresáře, tvořit je vždy při načtení by byla příliš velká zátěž. „Nebo třeba návrh na nějakou pěknou fotogalerii ?“ Často používám Highslide JS - JavaScript thumbnail viewer (pro nekomerční projekty zdarma), jeden z příkladů. |
||
matesek Profil |
#8 · Zasláno: 13. 12. 2009, 09:57:43
Alphard:
„Často používám Highslide JS - JavaScript thumbnail viewer (pro nekomerční projekty zdarma), jeden z příkladů.“ Stáhnul jsem si to ale pořád nechápu , co s tím mám dělat . V seznamu různých ukázek jsem si třeba nějakou vybral , ale nevím , jak si ji dát na své stránky . |
||
Alphard Profil |
#9 · Zasláno: 13. 12. 2009, 10:13:00
matesek:
Není to úplně jednoduché. Podívejte se do zdrojového kódu té ukázky, musí se nalinkovat css styly a javascript. Pak vložit javascript s daným nastavením a přesně vygenerovat miniatury s odkazy na velké obrázky. Třeba byl pro vás byl jednodušší Lightbox 2, ale moc velký rozdíl tam asi nebude. Asi jen v tom, že highslide vyžaduje přímo onclick="return hs.expand(this)", lightboxu se jen nastavuje rel. Já to mám v MVC systému rozčleněné do šablon atd., takže svůj kód vám asi neposílat nebudu, to bych vás zmátl ještě víc. |
||
panther Profil |
#10 · Zasláno: 13. 12. 2009, 10:13:32
matesek:
je to na webu, který [#7] Alphard odkázal jako první, popsané. Pokud to ani z toho nepochopíš (ano, je to anglicky), koukni se do zdrojového kódu druhého Alphardova odkazu. Třeba pochopíš. |
||
Časová prodleva: 3 dny
|
|||
matesek Profil |
#11 · Zasláno: 16. 12. 2009, 17:05:22
Pořád nevím co s tím .
|
||
Časová prodleva: 14 let
|
0