無料版(広告なし)xreaでの画像縮小表示
ここでは無料版(広告なし)xreaでのMT4iでの画像縮小表示の仕方を書きます。
有料版xrea(広告免除サービス、最近はxrea+と呼ばれているサービス)およびVALUE-DOMAINを利用されている方は、正しく通常のインストールすれば、
問題なく動くはずですので、ここで記述する内容は関係ないと思われます。他のサイトを当たってください。
なお、本件についてはMovableType用 携帯電話向け変換プログラム(こころあてに2004年2月25日付)を参考にしております。
この変更は「mt4i.cgiを修正したうえで、これをコピーし、MT4iとは別名で保存し(本文中はimage.xcg)、別名で保存したものを縮小画像呼び出し専用cgiとして利用する」というものです。つか、たぶんそういうことだと思っていますw
実際に動かすとややもさっと感があるところはご容赦ください。
大まかな流れは、以下の通りです。
mt4i.cgiの編集
↓
mt4i.cgiのコピー、名前の変更
↓
xreaへのアップロード
なお、縮小画像表示以外は、mt4iが正常に動いていることを前提とします。
また、オリジナルコードとは、MT4i 2.1β2どして配布されている「mt4i.cgi」のコードを指します。
_____
■1 MT4i.cgiの編集
以下の2箇所を修正してください。
a.オリジナルコードの189〜207行目
my $entry_created_on = $q->param("entry_created_on"); # エントリーの作成日時# PerlMagick の有無調査
my $imk = 0;
if ($mode eq 'image' || $mode eq 'img_cut') {
eval 'use Image::Magick;';if ($cfg{ImageAutoReduce} eq "yes"){
if($@){
$imk = 0;
}else{
$imk = 1;
}
}else{
$imk = 0;
}
}my $data; # 表示文字列用の変数を宣言する
↓※赤字部分を追加
my $entry_created_on = $q->param("entry_created_on"); # エントリーの作成日時
my $r = $ENV{'SCRIPT_NAME'};
# PerlMagick の有無調査
my $imk = 0;
if ($mode eq 'image' || $mode eq 'img_cut') {
eval 'use Image::Magick;';if ($cfg{ImageAutoReduce} eq "yes"){
if($@){
$imk = 0;
}else{
$imk = 1;
}
}else{
$imk = 0;
}
}
if ($mode ne 'img_cut') {
# 拡張子xcgでアクセスするのは画像を縮小する時のみ
if ( $r =~ /.xcg$/) {
binmode(STDOUT);
print "Content-type: text/plain; charset=Shift_JISnn";
print "access error:$r";
exit;
}
}
my $data; # 表示文字列用の変数を宣言する
b.オリジナルコードの1440行目
$data .="<p><img src=\"./$cfg{MyName}?mode=img_cut &id=$cfg{Blog_ID}&img=$img\"></p>";↓※赤字部分に変更
$data .="<p><img src=\"./image.xcg?mode=img_cut &id=$cfg{Blog_ID}&img=$img\"></p>";
上記修正後、MT4iを保存してください。保存時、文字コードはEUC-JP、改行コードはLFであることをお忘れなく。
■2 mt4i.cgiのコピー、名前の変更
mt4i.cgiをコピーしてください。
コピーしたmt4i.cgiのファイル名をimage.xcgに変更してください。
■3 xreaへのアップロード
mt4i.cgiとimage.xcgをインストール先にアップロードしてください。
アップロード後、パーミッションの設定(705)をお忘れなく。
_____
たぶん、これで動くはずです。