Generovanie náhodného náhľadu galérie zo zložky

<?
function countFiles($strDirName)
{
if ($hndDir = opendir($strDirName))
{
$intCount = 0;
while (false !== ($strFilename = readdir($hndDir)))
{
if ($strFilename != "." && $strFilename != ".." )
{
$intCount++;
}
}
closedir($hndDir);
}
else
{
$intCount = -1;
}

return $intCount;
}
$dir=opendir("cesta k zlozke 1"); 
$i=0; 
while($imgfile=readdir($dir)) 
{ 
     if ($imgfile != "." && $imgfile!="..") 
         { 
        $imgarray[$i]=$imgfile; 
        $i++; 
        } 
} 

closedir($dir); 

$rand=rand(0,count($imgarray)-1); 

    if($rand >= 0) 
    { 
    $obr=$imgarray[$rand];
    } 
$obrazok1=str_replace(".jpg","",$obr);




$dir1=opendir("cesta k zlozke 2"); 
$i=0; 
while($imgfile1=readdir($dir1)) 
{ 
     if ($imgfile1 != "." && $imgfile1!="..") 
         { 
        $imgarray1[$i]=$imgfile1; 
        $i++; 
        } 
} 

closedir($dir1); 

$rand1=rand(0,count($imgarray1)-1); 

    if($rand1 >= 0) 
    { 
    $obr1=$imgarray1[$rand1];
    } 
$obrazok2=str_replace(".jpg","",$obr1);
header ("Content-type:image/jpeg"); 
$filename="cesta k zlozke 1/$obrazok2.jpg";
$file="cesta k zlozke 2/$obrazok1.jpg";
$obrazek = ImageCreatefromjpeg("pozadie.jpg");
$obr=imagecreatefromjpeg($file);
$obr2=imagecreatefromjpeg($filename);
imagecolortransparent ($obrazek, $barva_cerna);
list($sirka,$vyska)=getimagesize($file);
list($sirka1,$vyska1)=getimagesize($filename);
imagecopyresized($obrazek, $obr, 10, 10, 0, 0, 250, 300, $sirka, $vyska);
imagecopyresized($obrazek, $obr2, 240, 50, 0, 0, 250, 300, $sirka1, $vyska1);
imagejpeg($obrazek);
ImageDestroy ($obrazek); 
?>
Na začiatku skriptu sa z dvoch zložiek náhodne načítajú dva obrázky. Nasleduje zadefinovanie hlavičky - header, ktorá má atribút jpeg, teda výstup bude jpeg obrázok. Oba obrázky z dvoch zložiek sú v prostredí php osadené na podkladový obrázok pozadie.jpg podľa zadefinovania pozície v koncovej časti skriptu. Nakoniec funkcia imagejpeg vykreslí obrázok. Príklad (stačí refreshovať) tu.

Pridať komentár k článku