171 похожих чатов

<?Php If (empty($input)) { // Exit quietly if no file

name given
return;
}

$scriptProperties['debug'] = isset($debug) ? $debug : false;


static $pt_settings = array();

if (empty($pt_settings)) {
if (!$modx->loadClass('phpThumbOf', MODX_CORE_PATH . 'components/phpthumbof/model/', true, true)) {
$modx->log(modX::LOG_LEVEL_ERROR, '[pThumb] Could not load phpThumbOf class.');
return $input;
}
}

$pThumb = new phpThumbOf($modx, $pt_settings, $scriptProperties);

$result = $pThumb->createThumbnail($input, $options);

if (!empty($toPlaceholder) || $result['outputDims']) {
if ($result['width'] === '' && $result['file'] && $dims = getimagesize($result['file']) ) {
$result['width'] = $dims[0];
$result['height'] = $dims[1];
}
if (!empty($toPlaceholder)) {
$modx->setPlaceholders(array(
$toPlaceholder => $result['src'],
"$toPlaceholder.width" => $result['width'],
"$toPlaceholder.height" => $result['height']
));
$output = '';
}
if ($result['outputDims']) {
$output = "src=\"{$result['src']}\"" . ($result['width'] ? " width=\"{$result['width']}\" height=\"{$result['height']}\"" : '');
}
}
else {
$output = $result['src'];
}

if ($debug && $result['success']) { // if debugging is on and createThumbnail was successful, log the debug info
$pThumb->debugmsg(isset($pThumb->phpThumb->debugmessages) ? ':: Processed ::' : ":: Loaded from cache: {$result['src']}", true);

}

$fullPath = str_replace("//",'/',MODX_BASE_PATH.$output);
// вот мой кусок
if(!file_exists("$fullPath.webp")) {
exec("sudo cwebp $fullPath -o $fullPath.webp");
}
return $output;

2 ответов

15 просмотров

это pthumb cниппет

Ну типа такого: Рядом со строкой $result = $pThumb->createThumbnail($input, $options); добавь ещё одну, такую же, почти $options2 = $options; $options2['f']='webp';//тут надо правильно задать, соответственно структуре массива $result2 = $pThumb->createThumbnail($input, $options2); Только тебе надо вывести options и заменить там опцию f которая у тебя в значении jpg скорее всего, на webp

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта