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>
Oeee...
yöök
viel ku ois semmonen et muuttais kuvat automaattisesti pieniks keskisuuriks...ei sitä jaksa 100 kuvan käsin laittaa...
pieniks ja keskisuuriks...
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ää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.