önbellekleme PHP GD kullanılarak uygulanır nasıl

4 Cevap php

Benim galeri görüntüleri önbelleğe istiyorum. Yaratma görüntüleri her sayfaları GD bellek çok kullanır kullanarak yükleyin, Yani GD ile yapılır php komut dosyası tarafından oluşturulan görüntüler için bir önbellek görüntüsü oluşturmak planlıyorum. Ne önbellek oluşturmak için en iyi şey olacaktır?

4 Cevap

Gibi bir şey kullanın

$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);
}

Eğer kullanmayı düşündünüz mü phpThumb? Bu görüntü üretimi ve önbelleğe alma için seçenekler ton vardır.

Ben önbellekten dosyayı okurken Readfile için basit bir çağrı () yeterlidir, herhangi bir yineleme yapmak gerekir sanmıyorum. Örn:

if (file_exists($image_path)) {
    // send the cached image to the output buffer (browser)
    readfile($image_path);
}else{
    // create a new image using GD functions
...

Tam komut burada:

http://www.alphadevx.com/a/57-Implementing-an-Image-Cache-for-PHP-GD

Diskinize kaydedin. Webserver önbelleğe ilgilenir.