08. juli 2007 - 14:39Der er
9 kommentarer og 1 løsning
Script der viser thumbs af dir
Hej.
Jeg vil prøve at lave et script til min hjemmeside så jeg kan lægge de billeder jeg tager på min sommerferie ind efterhånden som jeg tager dem.
Jeg har styr på login og upload funktionen, men jeg mangler et script der viser indholdet.
Det skal lige siges at jeg har prøvet mange forskellige scripts fra div. steder på nettet, men ingen af dem var det jeg præcist søgte efter.
Det, det skal kunne: Scriptet skal vise de billeder der bliver lagt ind, altså ligesom en gæstebog der ikke bruger database men læser filerne fra et dir. Det her skal bare vise thumbs (gerne som links så man kan se dem store ved at klikke på dem). Nogen der ved hvordan man gør det? eller som kan henvise mig til et sted man kan lære det?
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
<? //Denne fil skal lægges i samme mappe som billed-filerne. Når filen indlæses genererer den automatisk thumbnails af alle billedfiler. //På FDF-serveren må billedfilerne ikke være større end //Navnet på billed-filen må ikke indeholde mellemrum og skal overholde almindlige regler for filnavne på hjemmesideservere //Husk at ændre skriverettighederne på den mappe filen her ligger i // VARIABLERNE DEFINERES I FILEN "HEAD.PHP" require 'head.php';
### --- PAS PA MED AT RETTET NOGET HERUNDER --- ### if(!is_dir($thumbnail_mappe)) {mkdir("$thumbnail_mappe", 0777);}
function imageresizejpeg($sourcefile,$maxwidth,$maxheight,$destinationfile) { // funktion til resize eaf jpg-filer
### --- PAS PA MED AT RETTET NOGET HERUNDER --- ### $handle=opendir('.'); // GO $piccy=array(); $count=0; // SCAN THE DIR //while (($filename = readdir($handle))!==false) { while ($filename = readdir($handle)) { // TYPER FILER DER KAN HENTES if (eregi("(\.jpg|\.gif|\.bmp|\.png|\.JPG|\.GIF|\.BMP|\.PNG)$", $filename)) { // hvis fil er en billedfil $piccy[$count] = $filename; $count++; } } // LUK DIR closedir($handle); // SORTERE FILERNE sort($piccy); reset($piccy);
// VISER STORT IMAGE if ($_GET['large']){ // hvis large er med som query-string $large = $_GET['large']; echo "<html><head><title>" . $pagetitle ."" . $large . "</title></head><body bgcolor=" . $bg . ">"; echo '<div align="center">'; // HVIS NAVNET ER SAT TIL AT VISES? // if ($name=="1") {echo '<br><font face="verdana" color="white" size="1">Billednavn: ' . $large . '</font>'; } // FIND FORRIGE OG NÆSTE $i = 0; $prev = ""; while ( ($piccy[$i] != $large) && ($i < sizeof($piccy)) ) { $prev = $piccy[$i]; $i++; } if ($i == sizeof($piccy)-1) { $next = ""; } else { $next = $piccy[$i+1]; } // VIS FORRIGE OG NÆSTE //echo "<br><br>";
// NO PROBLEMO, LAVER TABLER FOR THUMBNAILS: } else { // hvis large ikke er med som query-string
// START TABLE SAET cellpadding, cellspacing, colors, echo '<html><head><title>'. $pagetitle .'</title>'; echo '<head>'; echo "<body bgcolor=" . $bg . ">"; echo '<table width="100%" border=0 cellpadding=1 cellspacing=0><tr><td bgcolor="#333e46"><b><font face="verdana" size="5" color="white"><a href="'.$sti .'">' . $pagetitle . '</a></b></font></td><td bgcolor="#333e46" align="right"><a href="'.$sti .'"><img src="' .$grafiksti .'fdflogo_lille.gif" border=0></a></td></tr></table>'; echo '<br><b><center><font face="verdana" size="1" color="white">Klik på et billede for at vise det i stort format!</b></font></center><br>'; echo '<table width="100%" border=0 cellpadding=3 cellspacing=0>'; echo '<tr>'; // FORDI <TD> DET ER SAT AF BRUGER, LAV THE PERCENTAGES: $divider=ceil(100/$td); if (($divider*$td)>100) $divider--;
// HENT IMAGES for ($l=0;$l<=sizeof($piccy)-1;$l++){ $isend = strpos((($l)/$td),"."); if (!$isend && ($l!=0)){ echo "</tr>\n<tr><td colspan=$td><br></td></tr>\n<tr>\n"; } if ($l==0){ echo "\n"; } // START <TD> echo '<td width="'.$divider.'%" valign="middle" align="center">'; // FA STORT BILLEDE (IF SELECTED) echo '<table border=8 bordercolor="#333e46" cellpadding=2 cellspacing=0><tr><td bgcolor="black">'; echo "<a href=\"$PHP_SELF?large=" . $piccy[$l] . "\">";
// VISER THUMBNAILS $thumb_mappe = $thumbnail_mappe . "/"; // vi sætter en skråstreg efter undermappens navn $thumb_name = $thumb_mappe . "thumbnail_" . $piccy[$l];
if (eregi("(\.jpg|\.JPG)$", $piccy[$l])) { // hvis filtype er jpg if(!file_exists($thumb_name)) { imageresizejpeg($piccy[$l],$maxwidth,$maxheight,$thumb_name) ; } else { $size=getimagesize($piccy[$l]); // laver et array med width og hight get_size($size,$maxwidth,$maxheight) ; } echo '<img src="' . $thumb_name . '" alt="' . $piccy[$l] . '" border=0 width="' . $newwidth .'" height="' . $newheight .'"></a></td></tr></table>'; } else { // hvis filtype ikke er jpg $size=getimagesize($piccy[$l]); // laver et array med width og hight get_size($size,$maxwidth,$maxheight) ; echo '<img src="' . $piccy[$l] . '" alt="' . $piccy[$l] . '" border=0 width="' . $newwidth .'" height="' . $newheight .'"></a></td></tr></table>'; } // OM NAVNET ER SAT TIL AT BLIVE VIST? if ($name=="1") { echo '<center><font face="verdana" color="white" size="1">' . $piccy[$l] . '</center></font>'; } echo '</td>'; echo"\n"; } // for-løkken slutter echo '</tr></table></div>'; echo '<br><center><button onclick="location.href=\''.$sti .'\';return false;" class="form">Tilbage til oversigt</button>';
Jeg har kun skrevet lidt af det. Jeg fandt det her på Eksperten for et par år siden, og så har jeg efterfølgende foretaget en række rettelser. Spørg bare, hvis der er noget, som driller.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.