HumHubに投稿する画像のサイズを小さくする
HumHubは投稿画像を小さくしてくれないので、5MBの写真をアップするとそのままアップロードされる。
まず画像を小さくする関数を作って
<?php namespace humhub\modules\mymodules\libs; use humhub\modules\file\libs\ImageConverter; class Reduce { public static function Resize($uploadedFile) { $filepath = $uploadedFile->tempName; $options = [ 'width' => 400, 'height' => 400, 'mode' => 'max', ]; ImageConverter::Resize($filepath, $filepath, $options); $uploadedFile->size = filesize($filepath); return $uploadedFile; } }
humhub\modules\file\actions\UploadAction.phpに追記する。
protected function handleFileUpload(UploadedFile $uploadedFile, $hideInStream = false) { $uploadedFile = \humhub\modules\mymodule\libs\Reduce::Resize($uploadedFile);
とりあえず応急処置。