PHP

「○○ or die」

PHP

「○○しますか、それとも死にますか?」 …という意味では無いようです(´・ω・`)

FTPによるファイル送信を実装。

PHP

ローカルのzipファイルをFTPサーバに送信するという内容です。

メール送信処理の実装。

PHP

mb_send_mail関数を使いました。

zip圧縮を行う方法。

PHP

準備するまでが少々面倒ですが、その後は比較的楽かも(・∀・)

phpMyAdminによる、巨大データのエクスポート&インポート。

PHP

エクスポート時にはZIPファイル等に圧縮できるため、それほど問題は無いのですが、 インポート時にはZIPファイルを受け付けてくれないので、巨大データを扱う時に 困ってしまいました(´・ω・`)

文字列置換関数達。

PHP

PHPには三種類の文字列置換関数が備わっていて、処理速度順に並べると、 strtr str_replace preg_replace …となるようです。

見えない何かが存在しているファイル。

PHP

もう7月…一年の半分が過ぎてしまいました(´・ω・`) 最近、月日の経つのが早く感じます… さて本題。 社内サイトを、あるサーバから別のサーバに丸々移動させた時のこと。 (サイトはPHPで書かれていて、DBにはMySQL) 移動後にそのサイトにログインを試みたとこ…

Windowsに一撃でLAMP環境を作る「VertrigoServ」

「WindowsにLAMP環境」 …ってのが、あまり納得イカナイというか嬉しくないんですが(´・ω・`) (世の中のPCの圧倒的多数がWindowsなので仕方ないか…) ※Linuxベースの「LAMP」環境に対して、Windowsベースだと「WAMP」環境と言うんですね…

【ZendFramework】URLが正しく認識されない…

PHP

シンボリックリンク先に配置したZendFrameworkのプロジェクトが動かない、 というお話(´・ω・`)

【ZendFramework】設定で戸惑う。

PHP

以下のようなエラーが出て、設定がすんなり進みませんでした(´・ω・`) Smarty error: unable to read resource: Invalid controller specified (css)

Zendframework導入方法。

PHP

Apacheで、どのように構成されているのか、今まで全く 知らなかったのですが(´・ω・`)

explode関数に絡んだバグ。

PHP

ApacheのログからリクエストURLを抜き出し、 $arrayLogBaraBara = explode("/", $logRequest); …で、スラッシュごとにそのリクエストURLをバラバラにしました。 ところが、上記でバラバラにした要素の数が、「grep -c 」でカウントした数より、 1つ少なかっ…

大容量アクセスログから日付ごとのデータを集計。

PHP

該当日付の含まれるファイル名をで検索。 実行するコマンド⇒「grep -l 日付 アクセスログの場所」 「1」のファイルの内容を日付ごとに中間ファイルとしてまとめる 実行するコマンド⇒「grep 日付 | gzip >> 中間ファイル」 中間ファイルに対して、時間ごと…

ファイルを更新時間順にソートする方法。

PHP

以前のエントリーで、array_multisort関数を使った並び替え方法を書きましたが、 他の方法にもチャレンジしてみました。

grepとexec関数の関係。

Woo〜〜♪ Baby I love your way〜〜♪ Everyday, yeah, yeah〜〜♪ exec関数を使えば、PHPのプログラムからUnix系コマンドを実行でき 戻り値も取得できるのですが、今日はそれに悩まされました(´・ω・`)

WEB開発とLAMP環境で思うこと。

PHP

Apacheのアクセスログ解析で若干ハマり気味です…(´・ω・`) アクセスログファイルをfopenして一行ずつ解析…としていると、 巨大なログファイルを解析する時にハードに負荷がかかりすぎて危険なので、 grepを使って解析したいログをある程度絞ることに。

サーバ上のCSVファイルが綺麗にダウンロードされない。

PHP

CSVファイルのダウンロードダイアログを出す方法で、サーバ上のCSVファイルを ダウンロードすると、ファイル内に余分な情報が一緒に出力されていました…(´・ω・`)

ある条件を入れると結果が戻らないコマンド。

昨日のエントリーで書いたコマンドに少々肉付けした、 grep -v -e '.*¥/choo1¥/.*HTTP.*' -e '.*¥/choo2¥/.*HTTP.*' /home/choo/logs/choo_log* | zgrep '.*¥[13¥/May¥/2009¥:0[0-9].*'| grep '.*HTTP.* 200 .*' > choo.txt というコマンドを、exec…

grepperへの道、険し。

PHPプログラム上で、大容量ファイルから文字列を抽出するなら、 「grepを使え」 と言われました(´・ω・`) PHPのexec関数を使えば、Linuxのコマンドも打てますし…

私の愛した文字列操作系関数達。

PHP

業務で使った、文字列に関する便利な関数を紹介します(・∀・)

コマンドラインでインタラクティブモード。

$ php -v とすると、 PHP 5.2.6 (cli) (built: Aug 1 2008 21:46:15) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies のように、インストールされているPHPのバージョン情報等が表示されます。 こ…

突如、テーブルが見当たらなくなり…

PHP

とあるテスト環境に、更新したファイルをtarで固めたものを持って行って 展開したところ、 relation テーブル名 does not exist というエラーが出るようになりました。テーブル名に大文字が含まれている場合に発生することがあるようですが、 私の使っている…

配列に要素を追加する関数。

PHP

array_push⇒配列の最後に要素を追加する。 array_unshift⇒配列の最初に要素を追加する。 array_push($array_data, $value); array_unshift($array_data, $value); 書き方も同じ… 「1」については以前から知っていて実際に利用したこともあったのですが、 「2…

立ちはだかる文字化けに。

PHP

とあるデータをCSV出力しておく。 とある画面で特定のリンクをクリックすると、そのCSVファイルがダウンロードできる。 …という機能を実装したのは良いのですが、文字コードの問題が(´・ω・`) 「1」のファイル出力時は「EUC-JP」なので、「2」でダウンロード…

CSV出力とダウンロード選択ダイアログ。

PHP

「PHPのことだから、CSBCSV出力の標準関数も備わってるのかなぁ」 と思って調べてみたところ、案の定、ありました(笑) その名も…fputcsv関数!…ホンマなんでもアリですよね(´・ω・`) ※PHP5以上でないと使えません。 ↓こんな感じで使います(配列の要素をCSVフ…

【ZendFramework】renderメソッドについて。

PHP

「1アクション1テンプレート」 を原則に開発を行っているのですが。 例えば、ある画面でCSVファイルをダウンロードしたいと思ったときに、 ダウンロード用のアクションを用意しても、そのアクションに対応するテンプレートを わざわざ用意するまでも無いです…

【Smarty】foreachの最初と最後。

PHP

Smartyでは、 {foreach from=$item item=val name="loopname"} のようにループに名前が付けられるのですが、これで「Smarty予約変数」が使える ようになります。 first last iterate …etc. {if $smarty.foreach.loopname.first}{$val} {elseif $smarty.forea…

【Smarty】number_format関数が使える!

PHP

なんとSmartyでもnumber_format関数が使えます(・∀・)

foreachと連想配列。

PHP

個人的には「foreach」よりも「for」のほうが構文が見やすくて好きなのですが、 要素数の比較的多い配列に対して何か処理を行う時は、foreachのほうが速い ようなので、使ってみました。 $pv_data = array("ymdh"=>20090406, "sum" => 99); $pv_data = array…

Exceptionを分けるお話。

PHP

「数種類の例外が発生する場合、例外ごとにエラーメッセージを変えたい」 という要望があったので、以下のような方法を列挙してみました。 フラグを立てることによる分岐。 例外が発生する処理ごとに、それぞれ「Exceptionをcatchする」処理を入れる。 Excep…