Finde billeder i undermapper
Jeg bruger scriptet nede for til at finde billeder i en mappe og printe det ud, men kan man få det til OGSÅ at finde filer i under mapper? og ignorere mapper med navnet small??$mappe = strip_tags($mappe);
if (!$mappe) { $mappe = "../pics/Funny Pictures";}
function test_om_billed_dir($dir) {
$billedextensions = array( ".jpg", ".jpeg", ".gif", ".tiff" );
$dp = opendir($dir);
$antal_billeder_fundet = 0;
while (false !== ($fil = readdir($dp))) {
if ( in_array( strtolower( substr( $fil, strrpos( $fil, '.' ) ) ),
$billedextensions
) ) {
$antal_billeder_fundet++;
if ( $antal_billeder_fundet = 2 ) {
closedir($dp);
return true; // ja det er en mappe med billeder
}
}
}
closedir($dp);
return false; // der blev ikke fundet noget billede
}
if ( test_om_billed_dir($mappe) ) {
$http = $mappe;
$dlSQL = "UPDATE picsGAL SET dl = dl+1 WHERE http = '$http'";
$iptest = mysql_query("select * from picsGAL where http = '$http'");
$testip = mysql_fetch_array($iptest);
$opretip = "insert into picsGAL(http, dl)
values ('$http', '0')";
if ($testip[http] != $http) {
mysql_query($opretip) or die (mysql_error());
mysql_query($dlSQL) or die (mysql_error());
} else {
mysql_query($dlSQL) or die (mysql_error());
}
print "<table><tr>";
$sum = 3; // Antal billeder ved siden af hinanden
$sumcount = 1;
$imgwidth = 100; // Billedets bredde
$imgheight = 100; // Bileddets højde
$pr_side = 60; // Antal billeder pr. side
if (isset($_GET['offset'])) {
$offset = $_GET['offset'];
} else {
$offset = 0;
}
$pics = $offset+$pr_side;
$i = $offset;
# Laver et array med billederne, så vi senere kan sortere dem alfabetisk
$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
$efile = explode(".",$fil);
if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil) && $efile[1] != "php" && $efile[1] != "css" && $efile[1] != "db") {
$billeder[] = "$fil";
}
}
closedir($handle);
echo "$i - $pics / ".count($billeder)."<br>";
# Udskriver billederne
sort($billeder);
$billeder = array_reverse($billeder);
while($i < $pics && $billeder[$i] != "") {
$text = $billeder[$i];
$text = str_replace("_"," ", $text);
$text = str_replace(".jpg","", $text);
$text = str_replace(".gif","", $text);
$text = str_replace(".JPG","", $text);
echo "<td><table><tr><td align=center width=\"150\"><a href=\"http://www.goog.dk/pics/showpic.php?mas=$mappe/$billeder[$i]\" target=_blank><img src=\"$mappe/small/$billeder[$i]\" border=\"0\" width=\"100\"><br>$text</td></a></tr></table></td>";
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;
}
print "</tr></table><br>Shift page: ";
#Udskriver frem og tilbage links
if ($offset >= $pr_side) {
$forrige = $offset-$pr_side;
echo "<a href=\"show.php?mappe=$mappe&offset=$forrige\"> Last</a> ";
}
for( $x=0; $x < count($billeder); $x+= $pr_side ) {
if( $x >= $offset && $x < $offset+$pr_side )
echo floor($x/$pr_side)." ";
else
echo "<a href=\"show.php?mappe=$mappe&offset=$x\">".floor($x/$pr_side)."</a> ";
}
if (count($billeder) > $offset+$pr_side) {
$naeste = $offset+$pr_side;
echo " <a href=\"show.php?mappe=$mappe&offset=$naeste\"> Next </a>";
}
}
