Category / php
【ZendFramework】Zend_Formでテーブルでレイアウトしたい
2010-03-20 Zend_Formを使って、テーブルでレイアウトする。 全部お任せするとこうなる こんな風に、dl,dt,ddを使ったHTMLになる。 <form method="post" action=""> <d […]
【ZendFramework】Zend_Formを使う
2010-03-19 Zend_Formのいいところ プログラム側できちんとフォームを定義できる。 見た目の方は別のところで担当するとして、機能、内容の方をきちんと管理できる。 必須か任意か、どういう値が欲しいか(バリデーション)をフォームを […]
【php】どうやってデバッグしますか?
2010-03-03 うまく動かないとき、動作を確認するとき、デバッグの方法は人それぞれ、場合によりけり。 よくある確認方法はこんなところでしょうか。 よくあるデバッグ、動作確認方法 echo 「画面に出してみる」の代表ですね。 echo $ […]
【php】fgetcsv()の基本作法
2010-03-01 よくあるCSVファイルはShift_JISです。これをそのまま取り込むと失敗することがよくあります。 それは、fgetcsv()のせいではなく、使い方が悪いだけです。 失敗するのは主にダメ文字(2バイト目に5Cを含む文字 […]
【php】switch文の中でcontinue
2010-02-24 PHPのマニュアルより http://jp2.php.net/manual/ja/control-structures.switch.php 注意: 他の言語とは違って、 continue命令は switchにも適用され […]
【php】日付計算(ある日から何日前、何時間後、何週間前 etc.)
2010-02-16 ある日からの相対日付を求める計算例phpスクリプト <?php //ある時間からの相対日付 $x = array(); $x[] = "2009-02-13の1日前 " . date("Y-m-d H:i:s", […]
【php】日付算出(1日前、2日前…1ヶ月前、1年前 etc.)
2010-02-15 現在からの相対日付を求める計算例phpスクリプト <?php $x = array(); //現在 $x[] = "現在 " . date("Y-m-d H:i:s"); //現在からの相対日付(前) $x[] = […]
wgetコマンドが期待しない動作をする
2010-02-12 wgetを使って、あるURLにアクセスしてバッチ処理を起動することがある。 そのとき、バッチ処理自体が長時間かかるなどが原因で、wgetが15分おきに再アクセスを20回繰り返してしまう可能性がある。 1回しかアクセスして […]
【linux】標準入力をファイルに書き出すシェルスクリプト
2010-02-08 #!/bin/bash while read line do echo "$line" >> /tmp/test.txt done exit 0 対話型コマンドの標準入力に渡される内容を見たいとき、こんなスク […]
【php】なぜかサーバーが重い、レスポンスが遅い
2010-02-02 何もしていないはずなのに、なぜかサーバーが重い、レスポンスが悪い。なぜかロードアベレージが高い。 そんなときの原因のひとつ。 「phpが自動で行う、セッションファイルの削除」 アクセス数の多いサイト(=セッションファイル […]
【Eclipse】Eclipse3.5 php開発環境
2010-01-23 Eclipse3.5のphp開発環境の作り方。 eclipse.org の ダウンロードのページ にて、PDT入り Eclipse for PHP Developers をダウンロードする。 zipファイルを解凍する。 […]
【php】PEARのインストール
2010-01-18 PEARは置くだけで使える。 インストールにはいろいろな手順、方法があるが、要するにphpスクリプトなので、基本的に置くだけでよい。この置く作業をPEARパッケージマネージャなどがお手伝いしてくれるのだけど、コマンドを使 […]
【php】変数名にアンダーバーのみ
2010-01-12 phpの変数名では、アンダーバーのみも可能。 サンプルコード <?php $_ = 123; $__ = 456; $___ = 789; var_dump($_, $__, $___); ?> 結果 int […]
【php】配列の足し算(配列の合成、マージ)
2010-01-10 こんな2つの配列があるとする。 $a = array('aka' => 'red', 'ao' => 'blue', 'kuro' => 'black'); $b = array('aka' => […]
【php】わざとタイムアウトのエラーを発生させる方法
2010-01-06 phpのタイムアウトについて書いたとおり、sleep()や、ネットワークの待ち、データベースの返答待ちなどではタイムアウトを起こすことはできない(Windows環境を除く)。 では、任意の時間でタイムアウトを発生させるに […]
MySQL文字化けの確認(文字コード変換を誰がやる?)
2010-01-04 波ダッシュ、全角チルダ、全角ハイフン、半角ハイフンが、「?」になる、文字化けする。 そんなMySQL文字化けの確認。 UTF-8の入力があって、EUCのデータベースに入れる…などの場合に文字コード変換が必要。これをMyS […]
【php】ある日が月末かどうか判定する
2009-12-28 月末とは何か。 「1日足したら翌月になる日が月末」と考えることができるので、こう書ける。 月末判定 – 日付の形をした文字列を渡せるとき。タイムスタンプ使用の例 function isGetsumatsu($ […]
【php】配列のソート
2009-12-27 配列をSQLの order by のような感覚で並び替えるにはusort を使う。 並び替えの基準となる比較用の関数を定義して、対象の配列と一緒にusort()に渡す。 比較用の関数は0、正の数、負の数のいずれかを返すこ […]
今実行しているhttpdのプロセスはどれだ
2009-12-26 こんなphpを書いて、 <?php var_dump(posix_getpid()); httpでアクセスすると、こんな結果が得られる。 int(21765) それはこれ(今起動しているのhttpdの子プロセスの下 […]
【php】mail関数の改行コード注意点
2009-12-25 PHPのmail関数、引数に渡すデータの改行コードに注意。 ヘッダが正しくないメールが生成されて、正常に読めないメールが送られたりする。 本文 mail()関数に渡すときは、本文はLFで改行するようにとマニュアルに書いて […]