->Заходим site.ru/ims-идсервиса.png->смотрим есть ли такая картинка:
Да: -> Берем ее из папки cache
Нет: -> Генерируем новую картинку и заносим в папку cache
->При повторном заходе на ту же картинку через 3 часа (site.ru/ims-идсервиса.png) мы ее обновляем т.е заного генерируем картинку и перезаписываем ее в папке cache
Сам скрипт:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- function createthumbnail($filetype, $origfile, $thumbfile, $new_w, $new_h, $par) {
- if ($old_x > $new_w || $old_y > $new_h) {
- if (($old_x < $old_y) && $par=='n') {
- $thumb_h = $new_h;
- } elseif (($old_x > $old_y) && $par=='n') {
- $thumb_w = $new_w;
- } elseif (($old_x < $old_y) && $par=='s') {
- $thumb_w = $new_w;
- } elseif (($old_x > $old_y) && $par=='s') {
- $thumb_w = $new_w;
- } else {
- $thumb_w = $new_w;
- $thumb_h = $new_h;
- }
- } else {
- $thumb_w = $old_x;
- $thumb_h = $old_y;
- }
- $result = imagecopyresampled($thumbimage, $origimage, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y);
- }
- $url = $_GET['url'];
- $width = $_GET['w'];
- $par = $_GET['p'];
- } else {
- $thumb = "cache/".$pic_name[0]."_".$width.$par.$pic_ext;
- if (!file_exists($thumb) || filesize($thumb)==0) { createthumbnail($imagefile[2], $url, $thumb, $width, $height, $par); }
- }
- }
- ?>