= 3) { // -- remove "." and ".." values from the file list... unset ($fileList[0]); unset ($fileList[1]); // -- Remove a previous value from the file list... // if (isset($_COOKIE[$engine.$version]) AND is_numeric($_COOKIE[$engine.$version])) unset($fileList[$_COOKIE[$engine.$version]]); // -- Randomize the file... reset ($fileList); shuffle ($fileList); $randKey = array_rand($fileList, 1); $fileName = $fileList[$randKey]; $srcFile = $srcDir.$fileName; // -- If converted image exists display it else convert it and then display.... if (file_exists($srcFile)) { // -- Set the cookie for the next random... // SetCookie($engine.$version, $randKey, time()+(60*60*24*30)); // $_COOKIE[$engine.$version] = $randKey; // -- Output the resize version or the full version... if ( isset($_GET["sz"]) AND is_numeric($_GET["sz"]) AND $_GET["sz"] > 0 AND $_GET["sz"] <= $maxSize ) { $dstSize = $_GET["sz"]; } else { $dstSize = $defaultSize; } $sizedFile = $sizedDir.$dstSize."-".$fileName; header("Content-type: image/jpeg"); header("Content-Transfer-Encoding: binary"); header("Cache-Control: public"); if ( file_exists($sizedFile) ) { header("Content-Length: ".filesize($sizedFile)); readfile($sizedFile); } else { // -- Read source image... $srcImg = new Imagick(); $srcImg->readImage($srcFile); // -- Resizing... $srcImg->resizeImage($dstSize, $dstSize, Imagick::FILTER_LANCZOS, 1, FALSE); // -- Set interlace & compression quality... $srcImg->setInterlaceScheme(Imagick::INTERLACE_PLANE); $srcImg->setImageCompressionQuality(95); // -- Sharpening... $sharpening = 0.3; $sigma = $sharpening * 1.3; $srcImg->unsharpMaskImage( 0, $sigma, $sharpening, 0.05 ); // -- Save File... $srcImg->writeImage($sizedFile); // -- Direct output... header("Content-Length: ".strlen($srcImg->getImageBlob())); echo $srcImg->getImageBlob(); // -- Clean up... $srcImg->clear(); $srcImg->destroy(); } } } ?>