Bug(バグ) #3505
Yuya Watanabe さんが約11年前に更新
h3. 概要 fileMaxSizeInfo が管理画面の「アップロード画像のファイルサイズ制限」を考慮していない. 下記のような設定のときにレンダリングされた html 内の javascript の fileMaxSizeInfo は image_max_filesize を無視した値となっている.この fileMaxSizeInfo がなにに使われているかは調査していない. <pre> mysql> select * from sns_config where name = 'image_max_filesize'; +----+--------------------+-------+ | id | name | value | +----+--------------------+-------+ | 10 | image_max_filesize | 300K | +----+--------------------+-------+ 1 row in set (0.00 sec) mysql> show variables like 'max_allowed_packet'; +--------------------+-----------+ | Variable_name | Value | +--------------------+-----------+ | max_allowed_packet | 134217728 | +--------------------+-----------+ 1 row in set (0.00 sec) $ php -i | egrep "post_max_size|upload_max_filesize" post_max_size => 8M => 8M upload_max_filesize => 64M => 64M </pre> 表示されたページの中では下記のようになっている. <pre> var fileMaxSizeInfo = { 'format': '8MB', 'size' : '8388608' } </pre> h3. 原因 おそらくは下記部分が該当し,ここでは image_max_filesize は考慮されていないように見える. <pre> lib/util/opTimelinePluginUtil.class.php 48 public static function getFileSizeMax() 49 { 50 $maxFileSize = min( 51 self::calcConfigSizeToByte(ini_get('post_max_size')), 52 self::calcConfigSizeToByte(ini_get('upload_max_filesize')), 53 self::DB_MAX_FILE_SIZE); 54 55 if (opTimelineDb::isMySQL()) 56 { 57 return min($maxFileSize, (int) opTimelineDb::findVariableOfMySQL('max_allowed_packet')); 58 } 59 60 return $maxFileSize; 61 } </pre>