Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Simppeli kuvagalleria

raynet [17.04.2003 21:02:06]

#

Todella yksinkertainen kuvagalleria systeemi jonka väänsin eräälle tutulle 5 minsassa kun semmoista pyyteli. Taitelijan pyynnöstä systeemi toimii IFRAMEja käyttäen.

Scripti listaa hakemistossa 'small' olevat kuvat ja tarjoaa (samalla tiedostonnimellä) hakemistosta 'medium' sormenpääkuvan ja lopulta klikattaessa lataa 'large' hakemistosta originaalin version.

Koska tuo piti tehdä nopeasti ei siinä ole mitään fiksuja tarkastuksia tms. joten tuosta voi halutessaan laajentaa.

index.html tms.

<html>
<body>
<h1>Gallery</h1>
<h2>thumbnail</h2>
<IFRAME SRC="gallery.php?none=true" WIDTH=120 HEIGHT=120 name="thumbnail"></IFRAME>
<h2>icon</h2>
<IFRAME SRC="gallery.php" WIDTH=200 HEIGHT=200 name="icons"></IFRAME>
</body>
</html>

gallery.php

<?php
// settings
$icon_directory = 'small';
$thumbnail_directory = 'medium';
$popup_directory = 'large';

$icon_columns = 3;
$icon_name = 'icons';

$thumbnail_name = 'thumbnail';

$popup_name = 'gallerypopup';

?>
<html>
<body>
<?php

if ($none)
{
    echo('<p>no image selected</p>');
}
else if ($popup)
{
    echo('<img src="'.$popup_directory.'/'.$popup.'" border="0"></a>');
}
else if ($thumbnail)
{
    echo('<a href="gallery.php?popup='.$thumbnail.'" target="'.$popup_name.'"><img src="'.$thumbnail_directory.'/'.$thumbnail.'" border="0"></a>');
}
else
{
    if ($handle = opendir($icon_directory))
    {
        echo('<table border="1"><tr>');
        $i = 1;
        while (false !== ($file = readdir($handle)))
        {
            if ($file != "." && $file != "..")
            {
                echo('<td><a href="gallery.php?thumbnail='.$file.'" target="'.$thumbnail_name.'"><img src="'.$icon_directory.'/'.$file.'" border="0"></a></td>');
                if ($i++>=$icon_columns)
                {
                    echo('</tr><tr>');
                    $i=1;
                }
            }
        }
        closedir($handle);
        echo('</tr></table>');
    }
    else
    {
        echo("error! no such directory ($icon_directory)");
    }
}
?>
</table>
</body>
</html>

Jesoft [17.04.2003 22:37:28]

#

Oeee...

GeoHound [18.04.2003 09:20:09]

#

yöök

Nahkis [19.04.2003 10:12:29]

#

viel ku ois semmonen et muuttais kuvat automaattisesti pieniks keskisuuriks...ei sitä jaksa 100 kuvan käsin laittaa...

Nahkis [19.04.2003 10:19:03]

#

pieniks ja keskisuuriks...

raynet [21.04.2003 16:55:26]

#

Sitä varten itse olen käyttänyt imagemagick nimistä softaa, mutta koska sen käyttö on hieman erilaista linuxissa ja windowsissa niin en sitä tuohon ole lisännyt, lisäksi ihmisellä joka tuon halusi ei ollut moista ohjelmaa käytössä. Automaagisen skaalauksen voisi lisätä esim:

if (!file_exists("$thumbnail_directory/$thumbnail"))
{
  system("/usr/bin/imagemagick -geometry 64x64 $popup_directory/$thumbnail $thumbnail_directory/$thumbnail");
}

ja niin edespäin. mutta jos tuon tekee niin ehdottomasti tulee tarkistaa mitä $thumbnail -muuttujassa on syötetty, koska muuten voipi tehdä kaikkea ilkeää.

Vastaus

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

Tietoa sivustosta