Göra en bildutbytare i PHP

Under programmeringskvällen så fick besökarna lära sig grunderna i PHP och därtill fick de även göra följande kod, ett PHP-script vars funktion är att söka efter bilder i en katalog och slumpa fram dem. Detta använder sig av funktioner, if-satser, loopar och flera andra delar som är viktiga.

<?php
//definierar varifrån bildfilerna ska hämtas
$root = $_SERVER['DOCUMENT_ROOT']; //Sätter katalog till webbserverns hemkatalog
$path = '/testsida/img/'; //Letar efter bilder i denna katalog, relativ till ovan
$ar = ""; //nollställer variabeln $ar

function getImagesFromDir($path) {   // Skapar funktionen getImagesFromDir i katalogen ($path)
    $images = array(); // Skapar en array med bilder
    if ( $img_dir = @opendir($path) ) {  // kan vi öppna katalogen?
        while ( false !== ($img_file = readdir($img_dir)) ) { //tittar efter samtliga filer i katalog
            if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {  // filtrerar efter gif, jpg, png
                $images[] = $img_file; //Lägger in bilderna i en array
            }
        }
        closedir($img_dir);  //Stänger (släpper) katalogen
    }
    return $images; // Skickar tillbaks informationen från ovan
}

function getRandomFromArray($ar) {  // Skapar funktionen som slumpar en bild
    $num = array_rand($ar);  //Slumpar fram ett val och sparar det i $num
   return $ar[$num];  // Skickar tillbaks informationen från ovan
}


$imgList = getImagesFromDir($root . $path); // Hämta en lista över bilder från definierad sökväg
$img = getRandomFromArray($imgList); // Väljer ut en bild ur listan ovanför och sparar i variabeln $img
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Slumpa bild</title>
</head>
<body>

<!-- visa bilden här -->
<div><img src="<?php echo $path . $img ?>" alt="" /></div>

</body>
</html>

För att kunna köra koden ovanför krävs en mjukvara som hanterar ”backend”-biten, det vill säga som tolkar PHP-koden. Det program vi använder och rekommenderar (för både Mac och PC) är XAMPP som finns att ladda ner här.

Published
Categories Uncategorized
Views 436