PHP

PHPのupload_max_file_sizeとpost_max_sizeはini_setで変更できない

PHP

実は最近まで気づかなかった・・・orzphpでアップロードファイルサイズの許容量を5Mにしたかったのと、10M以上のファイルがアップロードされたら警告を出したかったので下記のようなコードを書いてみた。php version 5.1.6 ini_set('upload_max_file_size','…

PHPに対してRFI攻撃ですって

毎分1.5件で攻撃されているらしい。 確認されているだけでも攻撃が毎分1.5件,PHPアプリ狙う攻撃が大量無差別型に攻撃者はあらかじめ攻撃用のサーバー「attack.example.net」に悪質なコードを記述したファイル「evil.txt」を配置しておく。そして,以下の様…

PHPでメールを送るライブラリ

PHP

PHPで「まともな」メールを送ろうとすると、とてもじゃないが mail() とか mb_send_mail() なんて使えない。 自分でライブラリ作ってもいいけど、フリーで手軽なやつがあるのなら使いたいなって思ってて、たまたまいい感じのライブラリを見つけた。http://ph…

phpで型変換(キャスト)を行う

PHP

PHPはあまり型にうるさくない言語である。 しかし、下記の方程式を使っていると、困ることがある。 function foo($s){ if($s === '1'){ return true; } //else return false; } 上記の関数だと、引数にはstring型を渡してやらないと、trueが返ってこない。 …

「magicweapon」っていうフレームワークがあります

自分がよく業務で使っているフレームワークは、「magicweapon」っていうフレームワークである。よくphpで使われるフレームワークとしては、cake phpやsymfonyやzend framewark なんかが多いと思うのだが、自分はもっぱら「magicweapon」を使っている。ソース…

PHPによるデザインパターン入門を読んでみた

PHPによるデザインパターン入門作者: 下岡秀幸,道端良,畑勝也出版社/メーカー: 秀和システム発売日: 2006/11/27メディア: 単行本購入: 4人 クリック: 39回この商品を含むブログ (33件) を見るオブジェクト指向をやってると、必ずデザインパターンを覚えたく…

phpを使用していてMaximum execution time of 30 seconds exceededのエラーが出てしまう場合

PHP

phpで開発していてブラウザでテストをしていたら、突然下記のようなエラーが出てしまうような場合の解決法Maximum execution time of 30 seconds exceededどういうエラーかというと、「実行に30秒以上かかってタイムアウトだぞゴラー!」 みたいな事を言っ…

phpでメソッドを動的に呼びたいとき(インスタンスメソッド、staticメソッド)

PHP

phpを使っていて、動的にstaticなメソッドをcallしたいことはよくある。 そんなときは、call_user_func()が便利だ。 class hoge{ static public function foo($foo){ print 'hogehoge is '.$foo; } $class = "hoge"; $method = "foo"; $foo = "test"; //引数…

PHPもそのうちJAVAみたいに肥大化するような気がする

最近PHPでもフレームワークやテンプレートエンジンを使うことが標準化してきたよう(少なくとも自分の周りでは)またPHPの5.3から名前空間が実装されるようで、どんどんオブジェクト指向な言語になってきた。確かに「品質の一定化」や「保守の容易性」なんか…

PHPでUndefined index:が出るときの対処法

PHP

PHPで 「Undefined index:」の warnning が出ることがある。 要は「そんな配列定義されてね〜よ」っていう意味らしい。例えばこんなコードで出る場合 if($hoge['hogehoge'] === 'hoge'){ } 解決策は以下の通り。 if(isset($hoge['hogehoge']) && $hoge['hoge…

Smartyでデリミタ変更 & 文字化け解決方法

PHP

smartyっていうテンプレートエンジンがあるのですが、最近ちょっと触る機会があっていろいろと触ってみました。 ええまあデフォルトのままですと色々と問題がありまして・・smartyだとsjisでデリミタに { } が使えない どうやら必須の「須」の2バイト目に「…

PHP4系で運用されているサーバーが多すぎる件

PHP

まあもう周知の事実だとは思うのですが、PHP4系は2008/08/08 をもって完全にサポートを終了した。 http://www.itmedia.co.jp/enterprise/articles/0808/15/news050.htmlしかし振り返って周りを見てみると、PHP4系で運用しているサーバーの多いこと多いこと・…

EC CUBEのインストール時の文字化けを解決する1つの方法

EC CUBEっていうソフトがあるんですが、これがまたいろいろとお話を聞くソフトなのですが・・今お仕事で今関わっている案件で、EC CUBEをがっつりカスタムな案件があるのでとりあえずインストールしてみる。しかしいきなり文字化け・・・ orz■php 5系 ■mysql…

GDライブラリのおかしな性質

PHP

先日GDライブラリにはまって数時間とまったのでメモ。 まず下記のようなミニマムコードを書く。 $base = base64_encode(file_get_contents('/opt/www/hogehoge/214.png')); $gd2 = imagecreatefrompng('/opt/www/hogehoge/214.png'); ob_start(); imagepng…

PHP5用アプリをPHP4対応に書き直すためのメモ

PHP

php5のアプリケーションをphp4用にダウングレードするときメモ php4とphp5は基本的には別言語であると考える。 php5用のフレームワークを使用しているアプリケーションをphp4で動かさなくていけなくなったと納品間際に知ったときに、泣きながらおこなわなけ…