Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Päivittäin vaihtuva kuva

Sivun loppuun

Thomas Taussi [12.03.2004 16:33:42]

#

Miten oikein saisi sellaisen kuvan, joka vaihtuu 24 tunnin välein? Se olisi nyt tosi tarpeen sivuilleni.. Ja PHP:llä olen ajatellut tekeväni sen. Osaisiko kukaan seniori/juniori auttaa junioria. Ja minun php-taitoni kun eivät ole kehittyneitä.

Draiz [12.03.2004 16:41:30]

#

<?php
//perusasetukset
$kuvahakemisto = "kuvat";
$kuvalista = "kuvalista"; // aiemmin näytettyjen kuvien lista
                          // kirjoitusoikeudet tarvitaan
//koodi
$today = strftime('%Y%m%d');
$file = @fopen($kuvalista, "r");
if ($file) {
    while (!feof($file)) {
        list($day, $pic) = explode(" ", trim(fgets($file, 256), "\r\n"), 2);
        $oldpics[$day] = $pic;
    }
    fclose($file);
} else {
    $oldpics = array();
}

if (!array_key_exists($today, $oldpics)) {
    $pic = GetNextPicture($kuvahakemisto, $oldpics);
    if ($pic != false) {
        $file = fopen($kuvalista, "a");
        if ($file) {
            fwrite($file, $today." ".$pic."\n");
            fclose($file);
        }
   }
} else {
    $pic = $oldpics[$today];
}

if ($pic == '') {
    echo "Kaikki kuvat on jo näytetty.";
} else {
    echo "<img src=\"$kuvahakemisto/$pic\">";
}

function GetNextPicture($directory, $shownpics, $random = 1) {
    // jos $random == 0, ensimmäinen käyttämätön kuva valitaan
    $filetypes = array("jpeg", "jpg", "gif", "png");
    if ($dir = @opendir($directory)) {
        while (($file = readdir($dir)) !== false) {
            if ($file == "." || $file == "..") continue;
            $file = strtolower($file);
            $dotpos = strpos($file, ".");
            if ($dotpos !== false) {
                $extension = array_search(substr($file, $dotpos + 1), $filetypes);
                if ($extension !== false && $extension !== NULL) {
                    $picshown = array_search($file, $shownpics);
                    if ($picshown === false || $picshown === NULL) {
                         if (!$random) return $file;
                         $unusedfiles[] = $file;
                    }
                }
            }
        }
    }
    if (is_array($unusedfiles)) {
        srand((double)microtime()*1000000);
        return $unusedfiles[array_rand($unusedfiles)];
    } else {
        return false;
    }
}
?>

Ei ole sitten itse tekemä, koska tämä on lainattu mureakuhasta...

sooda [12.03.2004 16:44:25]

#

helpolla pääsee myös kun nimeää kuvat joka päivälle ja sitten vaan tyyliin:
<img src=<?php echo date("d",time()); ?>.jpg>
vähän liian yksinkertaista kyl :P
muok: höh, Moschops ehti eka... ja vielä vähän paremmalla...

tsuriga [12.03.2004 17:13:29]

#

Itseasiassa toi soodan vinkki on mielestäni melkein parempi, kun se ei pahemmin vie turhaa laskenta-aikaa palvelimelta.

Thomas Taussi [12.03.2004 19:55:20]

#

Kiitos miljoonasti teille! !!
Tai hei.. Mitens sen saisi laitettua, että se huomaa kuukauden?
tuossa
<img src=<?php echo date("d",time()); ?>.jpg>-pätkässä on vain päivät.. miten siihen saa niin, että se ottaa huomioon myös kuukauden? Huomatkaa, etten oikein ole opiskellut php:tä..

sooda [12.03.2004 20:12:34]

#

sekunnin tarkkuudella saat kun kattelet https://www.php.net/manual/en/function.date.php :)
mutta näin:
<img src=<?php echo date("d.m",time()); ?>.jpg>
se nappaa tiedoston joka on päivä.kuukausi.jpg formaatissa.
muok: kattelin itekin xD ja eli ton timen voi siis jättää pois datesta, eli
<img src=<?php echo date("d.m"); ?>.jpg>

Thomas Taussi [12.03.2004 20:58:13]

#

Kiitti! Nyt Viikonvaihteen jälkeen ja jopa ehkä ennen viikonvaihdetta näette siis sen jutun toiminnassa ja hauskoja kuvia!
Eikös täällä ohjelmointiputkan koodikirjastossa ollut sellainen vinkki, että tietyn ajan välein vaihtuu teksti..? En itse löytänyt sellaista, mutta muistan hämärästä, että sellainen olisi ollut..
Ja hei muuten.. Voiko jostain sivusta esim. index.php:stä tehdä taulukkoon esikatselukuvaa. joka on pienessä koossa? Esim. jos aion laittaa sivuille pienen esikatselukuvan tuosta index.php:stä, jonka sisältönä on se itse kuva.

Thomas Taussi [12.03.2004 22:04:27]

#

lainaus:

Kiitti! Nyt Viikonvaihteen jälkeen ja jopa ehkä ennen viikonvaihdetta näette siis sen jutun toiminnassa ja hauskoja kuvia!
Eikös täällä ohjelmointiputkan koodikirjastossa ollut sellainen vinkki, että tietyn ajan välein vaihtuu teksti..? En itse löytänyt sellaista, mutta muistan hämärästä, että sellainen olisi ollut..
Ja hei muuten.. Voiko jostain sivusta esim. index.php:stä tehdä taulukkoon esikatselukuvaa. joka on pienessä koossa? Esim. jos aion laittaa sivuille pienen esikatselukuvan tuosta index.php:stä, jonka sisältönä on se itse kuva.

Anteeksi tämä kahden viestin pötkö, kun editointi ei toiminut, mutta sain nyt toimimaan tuon esikatselujutun.. Nyt yritän etsiä sen tekstijutun..

Draiz [15.03.2004 19:19:11]

#

lainaus:

Ja hei muuten.. Voiko jostain sivusta esim. index.php:stä tehdä taulukkoon esikatselukuvaa. joka on pienessä koossa? Esim. jos aion laittaa sivuille pienen esikatselukuvan tuosta index.php:stä, jonka sisältönä on se itse kuva.

Tee thumbnailit niistä.

Thomas Taussi [22.03.2004 20:27:11]

#

Hmm.. Päätin päivittäin vaihtuvan kuvan vaihtaa viikoittain vaihtuvaan kuvaan.. Tuohon koodiin olen yrittänyt tehdä muutoksia viikon tunnistamiseksi, mutta ei auta. Anteeksi, että joudun vähän taas pyytämään apua, mutta jos joltain löytyy pari ylimääräistä tiedonjyvää, niin voisi antaa yhden pienen tuon viikoittain vaihtuvan kuvan automatisoinniksi.

tsuriga [23.03.2004 08:42:10]

#

Jos käytät soodan esimerkkiä niin vaihat datessa d.m tilalle W.

Thomas Taussi [23.03.2004 16:59:42]

#

Kiitos! Kokeilin pienellä w:llä ensiksi, mutta sitten en hokannut kokeilla isolla kirjoitettua w:tä.. Minulla on vielä paljon opittavaa..

tsuriga [24.03.2004 14:12:30]

#

Tuolla php.netin manuskassa on ne kaikki parametrit selityksineen, englanniksi. Meinasin tehä koodivinkin, jossa ois selitykset suomeks kuhan kerkeen ja jos jaksan.

samii [24.03.2004 21:52:36]

#

https://www.ohjelmointiputka.net/hak/?kieli=PHP­&nimi=date

Olga [24.03.2004 22:08:11]

#

Tuo on tosi hyvä tuo putkan funktiohakemisto. Miksei sitä mainosteta enemmän? Muutaman kerran oon vaan nähny keskusteluissa linkin. Noista on tosi paljon apua varsinki hieman kokemattomammille ohjelmoijille.

Tempfile [25.03.2004 17:08:29]

#

Mitä mitä, onko putkassa tuollainenkin? Antille kyllä risuja huonosta tiedonvälityksestä...

T.M. [25.03.2004 23:06:32]

#

Ehkä tarkoitus on julkistaa tuo vasta sitten kun se on sataprosenttisesti valmis? En kyllä näe mitään syytä miksi tuota ei olisi voinut aikaisemminkin julkaista :P

Antti Laaksonen [27.03.2004 00:06:42]

#

Voisi tuosta hakemistosta kieltämättä vähän nykyistä enemmän pitää ääntä. Sisältöä kun alkaa olla jo melko hyvin kasassa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta