Pitäis saada sellanen scripti joka valitsee kuvan tietystä kansiosta ja vaihtaa kuvaa 24h välein. Sellanen pitäs vielä olla ettei näytä samaa kuvaa 2 kertaa.
Ottaako joku haasteen vastaan? :)
desharosh kirjoitti:
Ottaako joku haasteen vastaan? :)
Tarkoittaako tämä että tekeekö joku sulle ko. skriptin "avaimet kouraan" -periaatteella? Vastaus siihen on melkoisen varmasti "ei".
Ei tuossa ole mitään haastetta, pelkkää suoraviivaista työtä.
Kuka tahansa PHP:tä kunnolla osaava pystyy tekemään tuollaisen alle tunnin työllä.
Vähän sama kuin sanoisi: "Pitäis saada oja kaivettua. Ottaako joku haasteen vastaan?"
Grez: "I'll do it!"
desharosh: ei muuta kuin vähän harjottelemaan esim. php:n käyttöä.
Pakko kai se sitten on. winkswinks
No vinkkinä sanon että jos on mahdollisuus käyttää MySQL:ää niin tämän teko helpottuu vaikka kuinka paljon. On vähän kokemusta omista "järkevistä" tiedostotietokannosta. Niin epäselviä kuin vaan pystyy olemaan :D
Vinkkinä annan että yksinkertainen tietokanta voisi olla:
Kuvatietokanta - taulu galleriakuvat id | tiedostonimi | paivankuvana | (kaytetty) ------------------------------------------------------------ 1 | moporikki.jpg | 1224887786 | 1 2 | lolcat.jpg | 0 | 0 ------------------------------------------------------------
Tuo viimeinen suluissa oleva sarake on vaihtoehtoinen koska sen onko kuva jo ollut käytössä voi tarkistaa myös paivankuvana
aikaleimasta, koska niillä jotka eivät ole vielä olleet kuvana on aikaleima tietysti aina 0. Vaihtumisen voi toteuttaa helposti ottamalla taulusta sql lauseella (php:n funktio mysql_query) SELECT * FROM `galleriakuvat` WHERE `paivankuvana` = 0 ORDER BY `id` DESC LIMIT 1
(haku ilman kaytetty saraketta) ja sitten käyttämällä php:n funktiota mysql_return ottamaan kuvan tiedot ja sitten UPDATE lauseella
päivitetään kuvan tietoja. Tiedä sitten miten sql gurut tekisi mutta ainakin itse tekisin noin.
Jos käytetään taas tiedostotietokantaa homma muuttuu hieman mutkikkammaaksi, mutta toimii silti ihan samalla periaatteella.
Ehdotuksia yllä olevaan: SELECT * FROM
==> SELECT `id`, `tiedostonimi`, `paivankuvana`, `kaytetty` FROM
ja mysql_query
==> MySQLi->query
.
Pakkohan sitäkin oli kokeilla. Koodi on melkoisen selkeää, jos vain ymmärrät, mitä mikäkin funktio tekee. Jos et, lue PHP:n manuaalista, esim. https://www.php.net/array_diff.
<?php function paivan_kuva($kuvahakemisto = "kuvat", $naytetyt_f = "naytetyt.txt", $aikaformaatti = "Y-m-d") { if (!file_exists($naytetyt_f)) touch($naytetyt_f); $naytetyt = array_map("trim", file($naytetyt_f)); $nayttamatta = array_diff(glob("$kuvahakemisto/*"), $naytetyt); if (empty($nayttamatta)) return paivan_kuva_hukassa($naytetyt_f); $paiva = date($aikaformaatti, filemtime($naytetyt_f)); if ($paiva != date($aikaformaatti)) { # Uusi päivä, merkitään vanha kuva näytetyksi $i = paivan_kuva_hae_indeksi($nayttamatta, $paiva); $naytetyt[] = $nayttamatta[$i]; file_put_contents($naytetyt_f, implode("\n", $naytetyt)); unset($nayttamatta[$i]); if (empty($nayttamatta)) return paivan_kuva_hukassa($naytetyt_f); $paiva = date($aikaformaatti); } return $nayttamatta[paivan_kuva_hae_indeksi($nayttamatta, $paiva)]; } function paivan_kuva_hukassa($naytetyt_f) { touch($naytetyt_f); return "hukassa.jpg"; } function paivan_kuva_hae_indeksi(&$taulu, $arpa) { sscanf(md5($arpa), "%7x", $i); $a = array_keys($taulu); return $a[$i % count($a)]; } echo paivan_kuva("etusivukuvat", "etusivukuvat_naytetty.txt", "Y-m-d");
Aihe on jo aika vanha, joten et voi enää vastata siihen.