サマリ | Base64エンコードされた画像を埋め込み表示 |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.5.3 |
投稿者 | M.Taniguchi |
投稿日 | 2020-04-25 (土) 07:41:30 |
Base64エンコードされた画像を埋め込み表示するプラグイン。
ファイルをアップロードすることなく、画像をページに直接埋め込むことができます。
権限のない一般ユーザーでも任意の画像を掲載でき、添付ファイル管理の煩わしさからも解放されます。
画像のBase64エンコーダーは「画像 Base64 エンコード」等でインターネット検索して見つけてください。
PukiWiki 1.5.3/PHP 7.4 で動作確認済み。旧バージョンでもおそらく動くと思います。
#img64(画像のBase64エンコード文字列)
使用例
#img64(data:image/jpeg;base64,xxxxxxxxx...)
img64.inc.php
(下記のコードをコピーして、plugin ディレクトリに img64.inc.php というファイル名で保存してください)
<?php /* PukiWiki - Yet another WikiWikiWeb clone. img64.inc.php, v1.0 2020 M.Taniguchi License: GPL v3 or (at your option) any later version Base64エンコードされた画像を埋め込み表示するプラグイン。 ファイルをアップロードすることなく、画像をページに直接埋め込むことができます。 権限のない一般ユーザーでも任意の画像を掲載でき、添付ファイル管理の煩わしさからも解放されます。 画像のBase64エンコーダーは「画像 Base64 エンコード」等でインターネット検索して見つけてください。 【使い方】 #img64(画像のBase64エンコード文字列) 【使用例】 #img64(data:image/jpeg;base64,xxxxxxxxx...) */ define('PLUGIN_IMG64_MAXSIZE', 0); // Base64文字列最大長(キロバイト)。0なら無制限 function plugin_img64_convert() { list($type, $code) = func_get_args(); $code = $type . ',' . $code; if (PLUGIN_IMG64_MAXSIZE > 0) { $len = ceil(strlen($code) / 1024); if ($len > PLUGIN_IMG64_MAXSIZE) return '#img64 : Base64 string too long (' . number_format($len) . ' KB / ' . number_format(PLUGIN_IMG64_MAXSIZE) . ' KB)'; } return '<div class="img_margin"><img src="' . htmlspecialchars($code) . '"/></div>'; }
簡単に画像を掲載できる反面、いたずらで消すのもすげ替えるのも簡単です。
また、悪意なくちょっとした画像を貼り付けるだけでもウィキページファイル(およびバックアップファイル)のサイズが大きくなります。
こうした欠点を踏まえたうえで、有効に使える状況であればお使いください。
GPL v3