バックアップからの復元

2006/07/22 | PostgreSQL

先日の大雨&雷の影響で、我が家のサーバが落ちた。
今日まで気づかなかったのだが(普段使わないから当然わからないのだけれど)、データベースが動いてない!。データベースには請求処理関連の全データがはいっていて請求書が作れないし、決算が・・・(驚愕)。
しばし悩んだあと、バックアップがあることを思い出しだ(笑)。バックアップがあることはわかっていたけれど、新たにマシンを用意してインストール・復元する元気がなかったのでなんとか動くようにできないかと悩んでいただけだったのだが。
まずPostgreSQLのデータフォルダをきれいにして、データベースの初期化を実行(以下のコマンド)。

initdb –no-locale –encoding=EUC_JP -D /var/lib/pgsql/data

この状態でPostgreSQLが動くことを確認できた(ほっ)。
次にバックアップからの復元。実はつまんないことだけど、バックアップからの復元方法がわからなかった。だってpg_dumpall(データベース丸ごとバックアップ)から復元する機会なんてそうそうないですから・・・。検索してやっと見つけたよ。

psql template1 < data.dump

template1に対してレストアするのか・・・知らなかった。何はともあれ、これで復元完了。あと設定関連を以前のものに戻して無事復旧終了。つくづく「バックアップって必要なんだ」と思った瞬間であった。

一時的に出力文字コードを変更する

2006/07/21 | Smarty

普段はmojavi+pear+smartyで開発し、なおかつ文字コードはEUC-JPを使用している。最近はなるべくWeb2.0の潮流に沿うべく、googleやyahooのAPIを利用するようにと考えている。
google mapsを利用する際は諸般の関係でUTF-8が推奨らしい。基本的に今まで構築してきたものはすべてEUC-JPだから、どのようにしようかいろいろ考えたけど、smartyのテンプレートで、一番最初に以下のように書くことにした。

{php}
mb_internal_encoding(“EUC-JP”);
mb_http_output("UTF-8");
ob_start("mb_output_handler");
{/php}

これで単純に、出力は全てUTF-8に変換してくれる。

画像のサムネイルを作成

2006/07/19 | 画像ツール

このブログ、「画像 サムネイル」なんてキーワードで検索する人も多いようだ。で、たまたま画像のサムネイル生成のルーチンを作ったのでのっけておく。

<?php
$filePath=’test.jpg';
list($imW,$imH)=getimagesize($filePath);
//サムネイルの長辺の長さ
$thumbnail=400;
if($imW > $imH){
$newW=$thumbnail +1;
$newH=round($imH * ($thumbnail +1) / $imW);
}else{
$newH=$thumbnail +1;
$newW=round($imH * ($thumbnail +1) / $imH);
}

$imOld=imagecreatefromjpeg($filePath);
$imTmp=imagecreatetruecolor($newW,$newH);
imagealphablending($imTmp, false);
imagecopyresized($imTmp,$imOld,0,0,0,0,$newW,$newH,$imW,$imH);

$imNew=imagecreatetruecolor($newW -1,$newH -1);
imagealphablending($imNew, false);
imagecopyresized($imNew,$imTmp,0,0,0,0,$newW -1,$newH -1,$newW -1,$newH -1);

imagejpeg($imNew);
exit();
?>

いったん画像を縮小して、それから端を1ピクセルカットしている。縮小時に四捨五入とかする関係で、端数の分、端に黒背景がでるので、それをカットしてる。とりあえずいい感じ。

PLESKでのSSL設定

PLESKのSSL設定方法を見つけた。マイティサーバのやつ。使えるネット・・・見習えよ。

http://www.mtsv.jp/support/gui_manual/index.html

配列で生成したチェックボックスをJavaScriptで

2006/07/18 | JavaScript/Ajax

PHPで選択肢として複数のチェックボックスを作った場合、一つの変数で受け取るためには[]をつけることで配列として変数に格納できる。
これをHTML側のJavaScriptで処理したいときに、フォーム要素の変数名に[]が入っているとうまくいかない。そういう時はこんなふうにJavaScriptを記述するとうまくいく。

<form name="myForm" id="myForm">
<input type="checkbox" name="myCheck[1]" value="1">テスト1
<input type="checkbox" name="myCheck[2]" value="1">テスト2
</form>

<script type="text/javascript">
myCheckValue=document.myForm.elements[‘myCheck[1]’].value;
</script>

JavaScript・・・、初期の頃は使わなかったのでいまだに使い方がよくわからない・・・。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net