如何使用PHP GD实现缓存

chr*_*ian 3 php gd

我想缓存我的画廊的图像.使用GD加载每个页面生成图像会占用大量内存,因此我计划为使用GD完成的php脚本生成的图像创建缓存图像.创建缓存最好的是什么?

Pez*_*kow 5

使用类似的东西

$mime_type = "image/png";
$extension = ".png";
$cache_folder = "cache";

$hash = md5($unique . $things . $for . $each . $image);
$cache_filename = $cache_folder . '/' . $hash . $extension;

//Is already it cached?
if($file = @fopen($cache_filename,'rb')) {  
    header('Content-type: ' . $mime_type);
    while(!feof($file)) { print(($buffer = fread($file,4096))); }
    fclose($file);
    exit;
} else {
//Generage a new image and save it
   imagepng($image,$cache_filename); //Saves it to the given folder

//Send image
   header('Content-type: ' . $mime_type);
   imagepng($image);
}
Run Code Online (Sandbox Code Playgroud)