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 88

Comments

No Comments

Lämna ett svar

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.