55 lines
2.5 KiB
PHP
Executable File
55 lines
2.5 KiB
PHP
Executable File
<?php
|
|
ini_set('display_errors', 0);
|
|
include_once 'api/php/thumbs-master/thumbs.php';
|
|
class modClass
|
|
{
|
|
public static $filename = ''; // str
|
|
public static $w = 500; // int
|
|
public static $h = 500; // int
|
|
public static $originalFile = ''; // int
|
|
public static $wattermark = 0; // 0 - можно если есть, 1 - не надо
|
|
public static $wattermarkFile = '';
|
|
static function parceUrl($str)
|
|
{
|
|
$massiv = explode("-", $str);
|
|
self::$filename = $massiv[0];
|
|
self::$w = $massiv[1];
|
|
self::$h = $massiv[2];
|
|
if ($massiv[3])
|
|
self::$wattermark = $massiv[3];
|
|
self::$wattermarkFile = 'skin/' . $_SERVER['SERVER_NAME'] . '/img/wm.png';
|
|
}
|
|
static function getOriginalImg($filename)
|
|
{
|
|
$str = \DB::getRow('SELECT `content_type`, `content_id`, `tip` FROM `img` WHERE `filename`=? LIMIT 1', $filename);
|
|
self::$originalFile = 'img/' . $_SERVER['SERVER_NAME'] . '/' . $str['content_type'] . '/' . $str['content_id'] . '/' . $filename . '.' . $str['tip'];
|
|
}
|
|
}
|
|
modClass::parceUrl($_GET['id']);
|
|
//Получаем путь к оригиналу
|
|
modClass::getOriginalImg(modClass::$filename);
|
|
/* прерываем все дальнейшие попытки, если не существует оригинального файла */
|
|
if (!file_exists(modClass::$originalFile))
|
|
die('Нет файла' . modClass::$originalFile);
|
|
@mkdir('cache/img', 0700);
|
|
//Разрешен водяной знак и он существует....
|
|
if (modClass::$wattermark == 0 && file_exists(modClass::$wattermarkFile)) {
|
|
$image = new Thumbs(modClass::$originalFile);
|
|
$image->thumb(modClass::$w, modClass::$h);
|
|
$image->saveJPG('/tmp/' . modClass::$filename . '.jpg');
|
|
$image2 = new Thumbs('/tmp/' . modClass::$filename . '.jpg');
|
|
$image2->watermark(modClass::$wattermarkFile, 'bottom-right');
|
|
$image2->output();
|
|
$image2->saveWEBP('cache/img/' . modClass::$filename . '.webp', 50);
|
|
$image2->saveWEBP('cache/img/' . modClass::$filename . '-' . modClass::$w . '-' . modClass::$h . '.webp', 50);
|
|
unlink('/tmp/' . modClass::$filename . '.jpg');
|
|
}
|
|
if (modClass::$wattermark == 1 || !file_exists(modClass::$wattermarkFile)) {
|
|
$image = new Thumbs(modClass::$originalFile);
|
|
$image->thumb(modClass::$w, modClass::$h);
|
|
$image->saveWEBP('cache/img/' . modClass::$filename . '-' . modClass::$w . '-' . modClass::$h . '.webp', 50);
|
|
//echo 'cache/img/' . modClass::$filename . '-' . modClass::$w . '-' . modClass::$h . '.webp';
|
|
$image->output(50);
|
|
}
|
|
die();
|
|
?>
|