Simppeli kuvagalleria skripti, jonka väsäsin kaverin tarpeisiin.
Toiminnassa http://snailbox.ath.cx:4880/juki/inc/photos.php
index.php
<?php /* Sikälimikäli jos haluat includettaa gallerian sivulle niin homma hoituu tällä tiedostolla. KATSO ASETUKSET! */ // ASETUKSET $kansiot="kuvat/"; // kansio mistä kuvat haetaan $etu="3d"; //Jos kansiota ei ole määritelty, mikä kansio näytetään. $main='etu.php'; //Pääsivu. Vain jos $included=1 $muut='?p=glr'; //Osoitemuuttuja. Vain jos $included=1 $pidempi_sivu=150; //Kuvan pidemmän sivun pienennetty koko $vaaka=5; // vaakarivit $included=0; //Jos includetettu 1 muuten 0 $otsikko="Galleria"; //Sivun otsikko /**********************************************************************************/ /**********************************************************************************/ $perus=1; if ($included == 0) echo "<html>\n<head>\n\t<title>$otsikko</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">\n</head>\n<body>\n"; echo "<table>\n\t<tr>\n\t\t<td>"; if ($handle = opendir($kansiot)) { /* This is the correct way to loop over the directory. */ while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if ($included != 0) echo "<a href=\"$main$muut&inc=$file\">$file</a><br>"; else echo "<a href=\"?inc=$file\">$file</a><br>"; } } closedir($handle); } echo "</td>\n\t</tr>"; if (isset($_GET['inc'])) { echo "\n\t<tr>\n\t\t<td>\n\t\t\t"; include "kuvat.php"; echo "\n\t\t</td>\n\t</tr>"; } echo "\n</table>\n"; ?>
kuvat.php
<?php if (isset($_GET['inc'])) $d=$kansiot . $_GET['inc']; else $d=$kansiot . $etu; //Lukee kansion tiedostot taulukkoon $i=0; $kahva=array(); if ($kahvu = opendir($d)) { while (false !== ($tied = readdir($kahvu))) { if (!is_dir($tied)) { $kahva[$i]=$tied; $i++; } } closedir($kahvu); } //$kahva=scandir($d); $kansio=$d . "/"; $x=0; $kuvat=array(); //Menee kaikki tiedostot läpi ja lisää kuvat taulukkoon foreach ($kahva as $file) { if (!is_dir($file)) { $kuvat[$x]=getimagesize($kansio . $file); if (isset($kuvat[$x][0])) $kuvat[$x]['name']=$file; $x++; } } echo "<table>\n\t\t\t\t<tr>"; // näyttää kuvat $knro=$perus; foreach ($kuvat as $kuva) { $leveys=$kuva['0']; $korkeus=$kuva['1']; $nimi=$kuva['name']; //laskeskeskelee suhteita if ($leveys != 0) $suhde=$leveys/$korkeus; else $suhde=1; $suhde=round($suhde, 2); $us=$pidempi_sivu/$suhde; $us=round($us); //Asettaa kuvat taulukkoon //$us = muutettu koko //$pidempi_sivu = määrätty koko if ($leveys > $korkeus)echo "\n\t\t\t\t\t<td class=\"kuva\" valign=\"bottom\" align=\"center\"><a target=\"_blank\" href=\"$kansio$nimi\"><img src=\"$kansio$nimi\" width=\"$pidempi_sivu\" height=\"$us\"><center><pieni>$nimi</pieni></center></a></td>"; if ($leveys < $korkeus)echo "\n\t\t\t\t\t<td class=\"kuva\" valign=\"bottom\" align=\"center\"><a target=\"_blank\" href=\"$kansio$nimi\"><img src=\"$kansio$nimi\" width=\"$us\" height=\"$pidempi_s ivu\"><center><pieni>$nimi</pieni></center></a></td>"; if ($knro == $vaaka) { echo "\n\t\t\t\t</tr>\n\t\t\t\t<tr>"; $knro=$perus; } else $knro++; } echo "\n\t\t\t\t</tr>\n\t\t\t</table>"; ?>
$perus=1; ?
Sisennykset on mitä on ja kommentointikin vähän puutteellista, galleria kai toimii kuten on tarkoituskin. Luulisi ainakin nyt jo löytyvän jokaisen makuun sopiva galleria Intarwebsin perukoilta.
Toivottavasti :)
Gallerian arvo tasan nolla ilman oikeita peukalonkynsiä. Weppiyhteys on luokkaa meganopea ja gallerian lataamisessa kestää iäisyys. Lisäksi näitä mahtuu 12 tusinaan eikä tämä esittele mitään mullistavaa aikaisempiin nähden. Eli takaisin sorvin ääreen, mars! Ja mars! :)
Tiedätkö mikä on thumbnailien idea?
kysyt keneltä?
Aihe on jo aika vanha, joten et voi enää vastata siihen.