Avatar billede spidr Nybegynder
19. januar 2005 - 14:27 Der er 4 kommentarer og
1 løsning

Se om en mappe indeholder billeder.

kan man på nogen måde lave en.

if $mappe indeholder billeder
print "gør den";

else
print "gør den ikke";
Avatar billede jakoba Nybegynder
19. januar 2005 - 15:05 #1
Ja det kan man, men først på man lave sig en regel for hvad 'mappe indeholder billeder' betyder. fx:
    En mappe indeholder billeder hvis mindst to filer i den mappe har extension .jpg, .jpeg, .gif eller .tiff.

<?php

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($path);
                return true;  // ja det er en mappe med billeder
            }
        }
    }
    closedir($path);
    return false;    // der blev ikke fundet noget billede
}

if ( test_om_billed_dir( $_SERVER["DOCUMENT_ROOT"] ."/image/products/peopleId_1/" ) ) {
    echo "Ja det er en mappe med billeder.";
} else {
    echo "Nej. Det er ikke en billedmappe."
}

?>

mvh JakobA
Avatar billede spidr Nybegynder
19. januar 2005 - 15:13 #2
hmmm
der hvor der står
( $_SERVER["DOCUMENT_ROOT"] ."/image/products/peopleId_1/" )

skriver jeg hvad hvis den skal teste mappen $mappe?
Avatar billede spidr Nybegynder
19. januar 2005 - 15:24 #3
Min side ser sådan ud, men den skriver fejl :S

Parse error: parse error, unexpected T_VARIABLE in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 28


show.php?mappe=../pics/Wallpapers/A/Adele%20Stevens

ser sådan ud:

<center><table><tr>

<?php
$mappe = strip_tags($mappe);

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($path);
                return true;  // ja det er en mappe med billeder
            }
        }
    }
    closedir($path);
    return false;    // der blev ikke fundet noget billede
}

if ( test_om_billed_dir( $_SERVER["DOCUMENT_ROOT"] ."/image/products/peopleId_1/" ) ) {


$sum = 3; // Antal billeder ved siden af hinanden

$sumcount = 1;

$imgwidth = 100; // Billedets bredde

$imgheight = 100; // Bileddets højde


$pr_side = 12; // 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("1","", $text);
$text = str_replace("2","", $text);
$text = str_replace("3","", $text);
$text = str_replace("4","", $text);
$text = str_replace("5","", $text);
$text = str_replace("6","", $text);
$text = str_replace("7","", $text);
$text = str_replace("8","", $text);
$text = str_replace("9","", $text);
$text = str_replace("0","", $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=\"$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>";

}

} else {
    echo "Under construction"
}
?>

</center>
Avatar billede spidr Nybegynder
16. februar 2005 - 17:44 #4
Lukker spørgsmmålet hvis ingen vil hvae points :D
Avatar billede spidr Nybegynder
16. februar 2005 - 17:46 #5
Lukker spørgsmmålet hvis ingen vil hvae points :D
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester