ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

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

とりあえず応急処置。