phpでImageMagickを用いた画像変換サーバを構築(インストール編)

コーディング編はこちら

ちょっと画像変換サーバを構築してみる。
「phpにはGDモジュールがあるのになぜImageMagick?」
というところだけどImageMagickとGDの比較メリット・デメリット
メリット

  • gifが使える
  • 画像がキレイ
  • 機能が豊富

デメリット

  • GDより重い

これはImageMagickだろ!ということで使ってみる

続きを読む

cakephpでhttp通信し、xmlを取得して配列に入れる処理

cakephpを最近よくいじるのでその備忘録

App::import('HttpSocket');
App::import('Xml');
$http=&newHttpSocket();
$xml=&newXML($http->get('http://www.sj6.org/feed/'));
$xml=Set::reverse($xml);
pr($xml);

ほら、簡単でしょ!
と思ったら、こういう方法もあった

uses('Xml');
$xml = new XML("http://www.sj6.org/feed/");
$xml_array = Set::reverse($xml);
pr($xml);

楽チンやね。

第33回PHP勉強会に行ってきた まとめ

5/24 19:30~開催された第33回PHP勉強会に行ってきたよ。

今回のテーマは「モバイル」ということで仕事にもがっつり関係あるので張り切って行った。

ちなみに会場を提供して下さったのは株式会社ノッキングオン様(ありがとうございました。サイトかっこいいです。)

ちょっと講演毎にまとめちゃいたいと思います。

続きを読む

グローバル変数の弊害について

先日書いたフィボナッチ数を出力するコードだけれど、
「グローバル変数を使わないで書いたほうがいいよ」
というアドバイスを頂きました。

ということで、グローバル変数を使うことのデメリットについて調べてみました。
まず、グローバル変数とは・・・・

プログラミングにおいて全てのスコープからアクセスできる変数のこと

です。
ちなみにスコープとはある変数や関数が特定の名前で参照される範囲のこと。
ようするに全てのスコープというのはプログラム全体という意味。
どこからでも呼び出せて書き換えられる変数ということです。

なので、「ついつい便利だから使っちゃうんだよな・・・。」と思っていたらwikipediaに
はっきりと悪しき慣習と考えられている
と書かれていました。

グーグルでグローバル変数 弊害で検索してみたところ出るわ出るわ。
というわけでグローバル変数の弊害についてまとめてみました。
続きを読む

再帰関数を使ってフィボナッチ数列を出力してみた

ちょっと思うところがあり、タイトルをphpで書いてみた。

フィボナッチ数についてはこちら

数学をかじっている人や理系の人にとっては当たり前の知識らしい。

実際のページはこちら→再帰関数でフィボナッチ数を取得

こういったものを作るのも、パズルを解くみたいでなかなか面白いです。

ついでにソースも載せておきます。

(ソースを修正しました→こちら

続きを読む

レンタルサーバーにEthnaを入れてみた。

http://ethna.southwave.jp/

気合いで入れました。

一度、ローカルのLinuxサーバーに入れたものをアップロードして調整したのですが、

通常、phpフォルダの下に入るEthnaフォルダをappフォルダの中に入れたら動きました。

pearがうまく動くか心配。

さぁて、なんかつくるぞ~!

WordPressを使ってサイト作成をしてみたメモ

会社のコーポレートサイトをちょっとリニューアルしたいということになり、htmlを組んでたんですが、
「CMSを使ったほうが便利なんじゃないか・・・」
と思い立ち、WordPressで作成しました。
方法ですが、テンプレートファイルをいじって大枠を作成し、
個々のページは普通に記事を書く要領でHTMLソースを流し込むだけ。
WordPressには普通の記事投稿以外にも個別のページを作成する「ページ作成」なる機能があるので、非常に便利でした。
ちょっとハマってしまったのが、文字化け。
続きを読む

特定のタグを文字列内から取り除く

今、phpを使って、不特定多数のユーザーが入力するフォームを製作中。

htmlタグは有効にしたいのですが、scriptとかiframeとか使って欲しくないタグもあるわけです。

phpの関数strip_tagsでもタグを取り除くことは可能なんですが、取り除かないタグを全て指定しなきゃいけないという面倒くささ。

なので、自分で作ってみました。

//禁止するタグを設定
$errtag[pair]=array('script','iframe','frame','form','textarea');//閉じるタグ
$errtag[independent]=array('meta','link','input');//閉じないタグ
//閉じる(ペアの)タグ用
foreach($errtag[pair] as $key => $value){
$match_pat='/<'.$value.'/';
$match_replace='/<'.$value.'[^>]*>((\\n|\\r|.)*)<\/'. $value .'>/';
$taglist.='<'.$value.'>';
if(preg_match($match_pat,$news)){
print$value.'タグは使えません。';//エラー表示
$news=preg_replace($match_replace,'',$news[body]);//取り除く作業
}
}
//閉じない(単体の)タグ用
foreach($errtag[independent] as $key => $value){
$match_pat='/<'.$value.'/';
$match_replace='/<'.$value.'[^>]*>/';
$taglist.='<'.$value.'>';
if(preg_match($match_pat,$news)){
print$value.'タグは使えません。';//エラー表示
$news=preg_replace($match_replace,'',$news[body]);//取り除く作業
}
}

もうちょっといじって、

まず、全部閉じないタグ用の判別処理→あまった閉じるタグを取り除くとすればもうちょっとよくなるかな。

cakephpでsmartyを使う

↓このページのままやったらできた。↓

http://www.easy-in.net/archives/3

どうやらviewに.tpl形式でファイルを置くと自動的にsmartyで呼び出されるらしい。

MVCモデルとやらを扱うのも初めてなので、慣れるまでは今までの手続き型の数倍は時間がかかると思うが、慣れたら早い&便利(らしい)ので、コツコツ学ぼう。