2012年3月10日土曜日

CakePHP:開発環境

CakePHPはじめました。

CakePHP version
1.3.14

開発環境
Vertrigo Serv2.26
 Apache/2.2.21 (Win32)
 PHP/5.3.9
 MySQL 5.0.8

IDE
netbeans7.1

さすがに規模がアレなのでIDEはnetbeans使います。
これに慣れちゃうとエディタでの開発が辛くなりますね。
これからちょこちょこと躓いたことのメモでもまとめていきたいと思います。

2012年3月3日土曜日

PHP:HTMLソースからイメージタグを抽出

function get_image_tag($content,$i){
    $pattern = "/<img.*?\>/";
    preg_match_all($pattern, $content, $images);
    echo $images[0][$i];
}
関数は適当ですがこんな感じで一行ずつ読み込んだものに対してかまします。

PHP:htmlspecialchars

PHP5のhtmlspecialcharsにはENT_QUOTESを付けます。
htmlspecialchars でXSS対策をしていたと思ったら、デフォルトでは シングルクオートをエスケープしてくれないのです。(マニュアル参照)

htmlspecialchars($str, ENT_QUOTES);

ENT_QUOTES を指定することで、シングルクオートも ' にエスケープ出来ます。

2012年1月3日火曜日

Flex:Error #2044: ハンドルされていない IOErrorEvent : text=Error #2038: ファイル I/O エラー。

Error #2044: ハンドルされていない IOErrorEvent : text=Error #2038: ファイル I/O エラー。

ファイルをサーバから取得してローカルに保存させようとした際にこのエラーが出る。
原因はサーバ上のファイルが空(0byte)だったからのよう。

ちゃんと内容を書き出してから取得するようにしたら消えた。
あとファイルを開きっぱなしにしててもなります。

Flex:データグリッドのカラムのクリア

データグリッドのカラムのクリアに超苦労しました。

public function clearDate(data:Object): void {
    hogeList_DataGrid.selectedItem.hoge_item = "";
    hogeList_DataGrid.selectedItem = new ArrayCollection();
}

Flex:強制型変換に失敗しました。global@7d7c131 を flash.display.Sprite に変換できません。

強制型変換に失敗しました。global@7d7c131 を flash.display.Sprite に変換できません。
のエラー。

親(main.mxml)アプリケーションで、以下のコードで生じたエラー。
Alert.show("不正なアクセスです。", "アクセス確認", Alert.YES | Alert.NO, this, eventHogeHogeHandler, null, Alert.YES);
を置いてたらなった。第四引数のthisをnullにしたら解決。

ImageMagick:変換と解像度

95×61の画像に対して

-geometory 300%
-density 500(dpi)

というオプションをつけて変換すると、

1980×1272

という、ちょっとびっくりするくらいのサイズに変換される。
冷静に考えてみると、density500の指定がまずもとの解像度72dpiの約7倍なので
ピクセル数が95*7, さらにgeometryで3倍かかってくるので約1980となる。
これでも実寸は変わらない。
うーん、解像度とかややこしい。