てがろぐでD&Dまたはコピペで画像投稿するやつ
11/13 スクリプトのデモを兼ねたスキンファイルを作成しました。
https://note.com/tekito_note/n/n00ffcc10cf53
てがろぐで使える画像アップロード用拡張スクリプトです。
PHPとJavascriptでできています。
配布ファイル
詳しい使い方は中身のreadme.txtをお読みください。
Firefoxではダウンロード時に警告が出るようです。理由不明なのでご容赦ください。
※11/30 透かし画像と文字入れが同時にできなくなっていたのを修正しました。画像・サムネイル保存ディレクトリが見つからない場合自動で作成されるようにしました。
※11/21 XSS対策を強化。透かし画像を複数扱えるように。
※11/20 サムネイル作成に加工反映オプション追加。
※11/19 透かし画像機能を追加。
※11/13 色々修正。同梱ファイルが増えました。
※11/4 アップロードエリアクリックで画像選択可能にしました。
※11/3 日本語テキストの文字化けについて加筆。
もし不具合に気づきましたらhttps://wavebox.me/wave/77kkcwhk8uzskow7/へご連絡ください。
主な機能
画像は即座にアップロードされます。不要な画像を上げてしまった場合は手動で削除してください。
●使い方
あらかじめimages内にminiフォルダを作ってください。ないとサムネイルが作成できません。
また、透かし画像を使う場合はPNG画像を用意してください。(サンプル用にwatermark.pngを同梱しています。差し替えてください。)
<script src="upload.js"></script><!--拡張画像アップローダー-->
を使用中スキンのskin-cover.html内、[QUICKPOST]以下に張り付けてください。
以下のファイルはてがろぐ本体があるディレクトリにアップロードしてください。
upload.js upload.php Mplus1-Regular.ttf(使うフォントファイル) watermark.png(透かし画像サンプル)
upload.js
6~10行目
無理やりここにスタイルシートを組み込んでいるので、見た目を変えたい場合はここを弄るか、skin-cover.htmlで使用しているCSSに追記してください。
19行目
<input type="text" id="customText" value="無断転載禁止/DO NOT REPOST">
value内のテキストを変更しておくと便利です。
頻繁に使う項目は checked を付けておくとよいでしょう。
33行目あたり
<option value="watermark.png">watermark.png</option>
透かし画像を複数使う場合は、以上に続き
<option value="watermark2.png">サンプル1</option>
のような形で追加してください。
upload.php
6~13行目 設定項目です。初期値は以下のようになっています。
$uploadDir = 'images/'; // 画像アップロードディレクトリ
$miniDir = 'images/mini/';//サムネイルのディレクトリ
$thumbnailWidth = 250;//サムネイルのサイズ
$fontFile = 'Mplus1-Regular.ttf'; //使用するフォントファイル
$resizeOption = '1'; // 画像サイズ制限オプション(1 = 有効, 0 = 無効)
$maxDimension = 1000; // 最大サイズ
$defaultWatermark = 'watermark.png'; //デフォルトの透かし画像
$watermarkScale = 0.2;//透かし画像の倍率(対横幅)
221行目
$text = mb_convert_encoding($text, 'UTF-8', 'auto');
環境によっては日本語が文字化けすることがあります。文字化けする場合はSJISなどに変更してください。
・Mplus1-Regular.ttf
文字入れ機能用の初期フォントファイルとして、Mplus1-Regular.ttfが同梱されています。
M+フォントについて
https://mplusfonts.github.io/
SIL Open Font Licenseについて
https://licenses.opensource.jp/OFL-1.1/OFL-1.1.html
このスクリプトはchatGPTを用いて作成しました。不具合があるかもしれませんので、もし見つけた方はhttps://note.com/tekito_note/n/nbdf0de9b571bまでご連絡ください。
また、このスクリプトの改変、改変後の再配布、自作配布スキンへの組み込みはご自由にどうぞ。
できればhttps://note.com/tekito_note/n/nbdf0de9b571b へのリンクがあるとなにかあった場合にユーザーが助かるかもしれません。
このスクリプトを利用して生じたトラブルについては責任を負いかねますのでご了承ください。
TIPS:新規投稿/編集画面で使う方法
①
<script src="upload.js"></script><!--拡張画像アップローダー-->
だけ書いたedit.htmを用意し、使用中のスキンディレクトリにアップロード。
②管理画面→システム設定→高度な設定 内の
☐スキンDIRにedit.htmがあれば編集画面で読み込む
にチェックを入れる。
③使えます。
上級者向け:このスクリプトはclass="tegalogpost"がある場合その下に挿入されるようになっています。
これを応用して、てがろぐCGIソース内の「セーフモード」項目を変更、高度な設定の「編集画面でedit.cssとedit.jsを(あれば)読み込む 」にチェックを入れてupload.jsをedit.jsに変更の上フリースペースでスクリプトを読み込むようにするとすべての投稿画面で使えるようになります(確かめてないので、多分)。ただし不具合が出る可能性があるので自己責任の上ご利用ください。
記事紹介&テスト実装していただきました。ありがとうございます!