php
やっぱログ出力は大事ということで。 サーバにインストールされていない場合は、pearコマンドでさくっとインストール。 # pear install Log使い方のサンプルはこんな感じで。 debug("デバッグログを出力します"); $log->info("情報ログを出力します"); $log-…
pecl install xdebugでもいいんだけど、とりあえずソースから入れてみる。前提 : php.iniの場所は /usr/local/lib/php.ini Apacheの場所は /usr/local/apache2 wget http://www.xdebug.org/files/xdebug-2.0.4.tgz tar zxvf xdebug-2.0.4.tgz cd xdebug-2.0.…
「CakePHP jQuery を使用した Ajax ファイルアップロード」を参考にファイルアップロード機能を実装していたんだけど、ファイルのタイプがアップロード非対応だった場合などでコントローラからAjaxページへエラーメッセージを出力する際 set("error", "アッ…
開発テストマシンとして使用していたUbuntu Linuxのバージョンを9.04に上げたところ、上で動かしていたCakePHPベースのファイルアップロード/サムネイル作成の部分が正常に動かなくなった。 めんどくさくてずっと放ったらかしていたんだけど、さすがにまず…
今更PHP5の話。いや、なにげに最後に開発したのがPHP4の環境で、その後ブランクもあったりするもんだから今回初めてPHP5で開発してる訳で。 mofify("-7 day"); $dt2->modify("+7 day"); とかしたら怒られて「ナンデ?」と調べてみたら。 ※PHP4ではデフォルト…
CakePHPにはSanitizeライブラリというものがあって、簡単に文字列から指定タグを取り除いてくれる。とっても便利。 でも、その中に「全タグ除去」という関数は存在しなかったりする。 もしかしてこれは正規表現フラグ?mjd?とげっそりしていたのだけれど…
Multiple flashes with different classes http://www.secondbrain.co.jp/blog/?p=53 前の方でも「使ってる」とは書いたけれど、これがなかなか便利。 具体的にはコントローラで flash("出力したいメッセージ", "success / error / status"); ビューの中で s…
例えばこんなコードを書いているとき layout = "error"; return; } 正規データとして$idに「0」が渡ってきたとしても、それだとempty()でfalseを返してしまう。 まあ、それはempty()の仕様なので正しい動きなんだけども。 var が空でないか、0でない値であれ…
CakePHP+Ktai Libraryを使用しているサイトで、アクセス元の端末を判別してCakePHPのViewを切り替える方法。 キャリア判別はしてないけど、この方法なら簡単に実装できるはず。 参考 : CakePHPで携帯サイトを作る - HTML出力振り分け(2)
テーブルに項目を追加し、ControllerとViewも修正した。 なのに、どーーーーーーーしてもその項目が反映されない。 具体的には Model->find(null, $id); ... ?> とかしたとき、項目名を指定せずnullだと新しい項目が取得できない。 Model->find(array("old_c…
CakePHPのModel->save()は、 idが設定されていればUpdate 設定されていなければInsert というのは判っていたんだけど、例えばモデル「User」のキーが「USER_ID」という名前だったとき User->UserId = $this->data["User"]["USER_ID"]; $data["User"]["PASSWD…
CakePHPの $html->image() はとても便利なのだけれど、 複数プロジェクトが混在している プロジェクトAから画像ファイルをアップロードする プロジェクトBから、上の画像を参照する ということをしようとした場合、$html->image だと「プロジェクトのパス+…
ApacheとPHPの最新版を入れたいので、例によってソースからコンパイル。 UbuntuはDebianなので、パッケージ管理はapt。 (参照: 第04回 「apt-get, dpkg コマンドでパッケージ管理」) まあ、めんどくさいのでSynapticパッケージマネージャのお世話になった…
controllers/app_controller.php Session->check("User")) { $this->redirect("/login/index"); exit(); } } 各コントローラ内 checkSession(); }
指定されたアクション/コントローラ/ビューが存在しなかった場合にエラー表示する為のビューを設置。 views/missing_action.ctp views/missing_controller.ctp views/missing_view.ctp <p>指定されたページは存在しません。</p> コントローラ内でエラーが発生した…
テストサーバとして使用しているCentOS4.5のPHPは現在5.1系。 しかしDatetimeが使いたいという要請があったので、5.2にアップグレードすることにした。
続き。 Apache2.2をソースからコンパイルすることに。
さて、本題のPHP。
仕事で勉強する必要に駆られたので、「CakePHPで高速Webアプリ開発」を基に勉強。 でも、例が1.1なんだけど使ってるのは1.2だったりして結構直しが必要だったのでメモ。 ちなみにMultiple flashes with different classesを使用してみた。エラーメッセージが…
http://gihyo.jp/dev/serial/01/cakephp/0005?page=2 の手順でブラウザから参照した際、「Not Found」になる場合がある。 Webではトップディレクトリ配下にCakePHPプロジェクトを置いて実行することを念頭にしているので、サブディレクトリを切って開発環境…
http://umibozzu.blog26.fc2.com/blog-entry-202.html 例ではxamppだけど、CentOSでも同じことが起こった。 CentOSの場合は/etc/my.cnfに以下を修正。
カテゴリページを開いたとき、そのカテゴリに関連するエントリだけをリスト表示したい場合。 is_categoryとget_the_categoryの合わせ技。 <ul> cat_ID) ) { ?> cat_ID . "&order=desc"); ?> </ul>
http://blog.livedoor.jp/linuxer2006/archives/65133188.html を参考に、phpMyAdminをインストールしてみた。
今まで特定カテゴリのループ処理を (ループ内処理) としていた。 理由としては同カテゴリ内でも表示させたくない記事があって、excludeが使いたかっただけなんだけども。 けれど、get_posts()を使うとthe_tagsの中身が表示されないことに今頃気付いたの…
MediaWikiを、いわゆる「ショートURL」で運用する手順。
MediaWikiはデフォルトでファイルアップロードを許可する設定になっていない。 設定を変更するには、LocalSettings.phpの $wgEnableUploads = false; を、trueに変更。 →メニューに「アップロード」が追加される。
MediaWikiは、デフォルトでログインユーザ以外もいろいろ弄れてしまうし、当然新規登録もできる。 個人で使用するには問題があるので、ログインユーザ以外はいろいろできないようにした。 以下を末尾に追加。
BluWiki:Skinのデフォルトは、右上に表示されるアイコンが表示されない。 正しく表示されるようにする為には、PHPを弄る必要があった。