Archive for 1月, 2011

2011年01月31日に投稿

[PHP]var_dump関数の出力結果をファイルに保存する

連想配列の中身を確認する時はvar_dump関数を使用すると便利ですが、この結果をブラウザではなくファイルに出力したい場合があります。
配列をそのままファイルに書きこむとarrayとなってしまい中身を確認することができません。
そんな時はob_start関数を使用することで解決できます。連想配列をファイルに書き込みを行うサンプルコードを下記に示します。

ob.php
[PHP]
‘ほげ’,
‘sore’ => ‘それ’,
‘dore’ => ‘どれ’
);

ob_start();
var_dump($arr);
$result =ob_get_contents();
ob_end_clean();

$fp = fopen(“./dump.txt”, “a+” );
fputs($fp, $result);
fclose( $fp );
?>
[/PHP]
ob_start関数はマニュアルによると、通常ブラウザに出力される情報をバッファと呼ばれる領域に保存しあとから取り出すことができるようにする関数のようです。出力を行う前にob_start()を実行し、var_dump($arr)で配列の中身をバッファに出力します。この時点ではブラウザに出力されません。その後にバッファからデータを取り出すことができる関数のob_get_contents()を実行し、結果を$resultに保存します。$resultにはvar_dump($arr)の結果が保存されます。最後にob_end_clean()でバッファの中身を削除します。

あとは、通常通り$resultの中身をdump.txtへ書き込みます。dump.txtの中身は下記の通りです。
dump.txt
[php]
array(3) {
[“hoge”]=>
string(4) “ほげ”
[“sore”]=>
string(4) “それ”
[“dore”]=>
string(4) “どれ”
}
[/php]
var_dump($arr)の実行結果がそのまま保存されているのが分かります。

2011年01月26日に投稿

[Movable Type]SetVarBlockタグの変数に格納されている値に、文字列などを結合する

MTSetVarBlockタグは変数に任意の値を格納することができ、非常に便利です。このタグにはモディファイア「append」と「prepend」が用意されており、既に保存されている値に連結することができます

この2種類のモディファイアは下記のようなイメージで動作します。

append ・・・ 値を後方に連結する
変数 = 変数 + 任意の文字列

prepend ・・・ 値を前方に連結する
変数 = 任意の文字列 + 変数

例えば、WEBサイトのタイトルバーに表示する文字列の一例として以下のような書き方ができます。

最初にサイト名を変数hogeに代入します。
[html]
ITScrapBook
[/html]

prependモディファイアを利用して、エントリーのタイトルを変数hogeの前方に連結します。
[html]
<$MTEntryTitle$> –
[/html]

に投稿

[Movable Type]管理画面のカテゴリー一覧にカテゴリーベースネームを表示させるプラグイン

MT4を使ってテンプレートを作成しているとカテゴリーのベースネームを知りたい時があります。
ですが管理画面のカテゴリリストにはベースネームが表示されないため、確認するときは
各カテゴリの編集画面にアクセスする必要があります。
カテゴリリストの段階でカテゴリのベースネームを確認できるようプラグインを作成しました。



プラグイン名:AppendCategoryBasename
バージョン:0.1.0
公開日:2011年01月26日
動作確認をしたMTのバージョン:4.28
ダウンロードはこちらから

インストール方法:
MTのインストールディレクトリ直下にあるpluginsディレクトリにplファイルをアップロードして下さい。

2011年01月25日に投稿

[Movable Type]エントリーが保存されたら指定のメールアドレスにメールを送信するサンプルプラグイン

ブログ記事が保存された予め指定したメールアドレスにメールが送信されるプラグインです。プラグインの動作確認用のサンプルコードのため、実用性は皆無ですがプラグインの動作の理解の一助となりましたので掲載します。
続きを読む

2011年01月24日に投稿

[Javascript]if構文の省略形について

通常、Javascriptのif構文はifとelseを使用して下記のように記述します。
変数hogeの値が100以下の場合はsmallが、100より大きい場合はlargeがアラートで表示されます。
[javascript]

[/javascript]
ifとelseを使用しなくても下記のように記述すると同様の動作をさせることができます。
[javascript]

[/javascript]

2011年01月20日に投稿

[CentOS]ImageMagickをインストールする

ImageMagickをインストールしていないと、画像の操作を行わないとしてもMovable Typeのダッシュボードに警告が表示されます。MTそのものが動作しないわけではないですが警告が表示されたままなのは気になります。

CentOSの場合は下記のコマンドを実行することで、インストールまで自動で行ってくれました。

[HTML]
yum -y install ImageMagick-perl
[/HTML]

に投稿

[Movable Type]ブログ記事やウェブページの本文に入力されたMTタグを実行する

ブログ記事やウェブページの本文にMTタグを入力してもそのままでは実行されません。下記のようにMTEntryBodyタグにmtevalもディファイアを付加することで、本文内のMTタグを実行させることが可能です。

[HTML]

<$MTEntryBody mteval="1"$>

[/HTML]

また、同様にMTPagesタグ内のMTPageBodyにもmtevalモディファイアは使用可能でした。

[HTML]

<$MTPageBody mteval="1"$>

[/HTML]