Autor Zpráva
ziki
Profil *
Zdravím, potřeboval bych poradit od někoho zkušenějšího v php ohledně nějakého skriptu, který by na úvodní webové stránce zobrazil nějaký náhodný obrázek z nějaké náhodné fotogalerie, která je na stránce a pokud by ten náhodný obrázek byl i odkazem na galerii, ze které byl použit, bylo by to ideální. Je tohle možné nějak jednoduše provést v php?
Na stránkách mám adresář "galerie" a v něm spoustu různě pojmenovaných fotogalerií a každá fotogalerie pak obsahuje podadresář "thumb" s náhledy a podadresář "original" se zvětšeninami (př. cesty: galerie/vylet/original). Potřeboval bych, aby se na úvodní stránce zobrazil nějaký obrázek z adresáře "originál" a pokud možno kdyby byl i odkazem na danou fotogalerii. Obrázky v jednotlivých galeriích jsou různě pojmenované, ale všechny jsou typu .jpg.
Na internetu jsem zkoušel hledat nějaké skripty pro náhodný obrázek, ale všechny co jsem našel, počítají s umístěním obrázků pouze v jednom adresáři.
Za pomoc děkuji.
AM_
Profil
jaké chceš rozložení pravděpodobnosti zobrazení toho obrázku?
a) stejná pravděpodobnost pro každou galerii, že bude zobrazena, a stejná pravděpodobnost pro každý obrázek v galerii, že z ní bude vybrán:
načti seznam všech galerií do pole, vygeneruj náhodné číslo 1..n, vyber odpovídající galerii. Z ní načti seznam všech obrázků a pro ně proveď stejný postup.
b) stejná pravděpodobnost pro každý obrázek nehledě na to, v jaké je galerii:
načti všechny obrázky ze všech galerií do jednoho pole, vygeneruj náh. číslo 1..n, zobraz daný obrázek.

řešení:
1 - umíš programovat - toto zřejmě zvládneš napsat, není zde potřeba žádná extra nestandardní funkce ani algoritmus, vše k tomu potřebné by měl znát každý programátor
2 - neumíš programovat - zkus raději sekci "práce a zakázky", celé hotové řešení ti nikdo zdarma psát nebude
3 - umíš programovat, ale s některou částí programu si nevíš rady - upřesni svůj dotaz, co po nás chceš
ziki
Profil *
Dík za odpověď, nad těmi pravděpodobnostmi jsem tak hluboko nepřemýšlel, spíš jsem předpokládal tu variantu b), tj. stejná pravděpodobnost pro každý obrázek. Na druhou stranu, ve variantě a) by dostaly šanci v losování i galerie, co mají jen pár obrázků, oproti jiným rozsáhlejším galeriím. Přímo php jsem se nikdy neučil a veškeré mé dosavadní zásahy do php kódu bylo jen dopilovávání k obrazu svému díky podobnosti k jazyku c, kterým jsem si kdysi prošel. Přes víkend jsem se pokoušel dostat do tajů php, zejména k práci se soubory a adresáři a jejich načítání, ale zatím to kýžené ovoce nepřineslo. Soudě podle hotových skriptů na generování náhodného obrázku z jednoho adresáře, kterých je na internetu celkem dost a které jsou většinou na pár řádků, jsem předpokládal, že varianta generování náhodného obrázku z různých adresářů nebude o moc rozsáhlejší projekt a že nějaký php guru by tady dokázal rovnou střelit od pasu pár řádků kódu :-D
__construct
Profil
ziki:
střelit od pasu pár řádků kódu
na to človek nemusí byť ani PHP Guru ..
$adresa = __DIR__; //adresa zložky s obrázkami - __DIR__ je aktuálny adresár
$subory = array();
$polozka = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($adresa));
while($polozka->valid()) {
    if (!$polozka->isDot()){
        $subory[] = $polozka->getSubPathName();
    }
    $polozka->next();
}
echo "<pre>";
var_export($subory);
//edit: keď som si pozornejšie prečítal čo chceš tak som to trochu zjednodušil ..
AM_
Profil
ziki:
že varianta generování náhodného obrázku z různých adresářů nebude o moc rozsáhlejší projekt a že nějaký php guru by tady dokázal rovnou střelit od pasu pár řádků kódu :-D
Dokázal. Jen toto fórum neslouží jako dobročinný web, kde budu "guru", kteří byli ochotní se PHP naučit, zdarma rozdávat své know-how a ztrácet čas řešením problémů za jiné lidi. Proto nemám sebemenší potřebu zdarma psát kód za někoho, kdo pro to ani nehne prstem.
Aneb přijedeš takhle s autem do servisu, že ti něco klepe v motoru. Mechanik otevře kapotu, dá tam chybějící matku a řekne si o 520Kč. Ty se divíš, proč tolik stojí matka. On na to: "matka stojí 20Kč, 500Kč stojí to, že jsem věděl, co tam chybí."
__construct
Profil
AM:
ztrácet čas řešením problémů za jiné lidi. Proto nemám sebemenší potřebu zdarma psát kód za někoho, kdo pro to ani nehne prstem.
Ja tiež nie, ale keď som sa zamyslel nad tým koľko času by mi trvalo napísať post v ktorom mu to vysvetlím tak som radšej napísal tých pár riadkov kódu. Pri niečom zložitejšom by som asi reagoval ako Ty :-)
ziki
Profil *
__construct:
díky za nějaký návrh, teď jsem pryč, ale jakmile se dostanu domů k PC, tak zkusím, co se s tím dá dělat.

AM:
váš první příspěvek jsem ještě považoval za přínosný k řešení mého dotazu, ale druhým příspěvkem jste jen s prominutím, nasadil korunu vaší aroganci a ješitnosti. Ta věta o php guru, jejíž smysl jste nepochopil, kterou citujete a na kterou reagujete, zřejmě pošramotila vaše ego a viděl bych v tom přirovnání s tou potrefenou husou.
To, že bravurně neovládám php mi zakazuje na tomto specializovaném fóru položit dotaz? Kdybych položil dotaz, jak v autě vyměnit olej, tak také na to musím být automechanik? Nevím jak funguje zrovna tohle diskusní fórum, ale asi se budete divit, existuje spousta jiných specializovaných a "dobročinných" veřejných webů (snad většina), kde když někdo položí dotaz, tak mu někdo jiný i ochotně a zdarma poradí. Po nikom jsem tady rozhodně nechtěl, aby mi zadarmo vytvořil celé webové stránky nebo jiný rozsáhlý projekt, jen jsem se ptal na jeden skript. Pokud někdo nevěděl nebo nechtěl poradit, tak nemusel přispívat do diskuse. To jen vy tady vystavujete na obdiv vaši čirou ochotu pomoct a planě hovoříte o vašem "know-how".
tiso
Profil
ziki: ono je rozdiel poradiť a poradiť, to je to o čom AM_ písal. Napísanie toho kódu je ekvivalentné pri tvojom príklade vete "Vymění mi někdo olej v Ostravě na Stodolní?"

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0