[PHP] headerの使い方

オンラインマニュアルからサンプルを抜粋。

PHP: header – Manual
http://php.net/manual/ja/function.header.php

HTTPステータスコードの送出

ロケーションヘッダの送出

ダウンロードダイアログ

PDF ファイルを生成した場合など、 それをダウンロードするかの確認ダイアログを表示させたいことがあるでしょう。 そんな場合は、Content-Disposition ヘッダを使用してファイル名を指定すると、ブラウザ側でダイアログを表示させることができます。

キャッシュディレクティブ

PHP スクリプトはしばしば動的に HTML を生成するため、クライアント ブラウザやサーバーおよびクライアントブラウザの間でプロキシがキャッシュを 行ったりするべきではありません。多くのプロキシとクライアントでは、 以下のコードにより強制的にキャッシュを無効にできます。

[PHP] cURLの使い方

簡単なサンプル。ちなみに、cURLが使えるかどうかはphpinfo()で確認できる。

ウェブページを取得する

Content-Lengthを取得する

参考サイト

PHP: cURL – Manual
http://php.net/manual/ja/book.curl.php

PHPメモ : file_get_contentsの代替にcURLを使う – Mach3.laBlog
http://blog.mach3.jp/2010/12/21/use-curl-for-filegetcontents.html

phpからcurlを使ってみた – 目論見検討委員会
http://d.hatena.ne.jp/tboffice/20091027/1256660197

PHPプロ!TIPS+
http://www.phppro.jp/phptips/archives/vol16/3

[CakePHP] Containableビヘイビア

モデル間のアソシエーションが複雑になってくると、モデルのfindオペレーションの返りが肥大化してくる。プログラムのリソース消費や速度が気になる場合には、Containableビヘイビアを使うことで、findオペレーションの動作を制限したりフィルタすることができるらしい。

クックブックに例を交えた使い方説明がある。

Containable — CakePHP Cookbook 2.x documentation
http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

[CakePHP] リクエストの取得方法

GETのクエリ文字列

名前無しパラメータ

あるいは

名前付きパラメータ

名前無し&名前付きパラメータ混在

参考サイト

【CakePHP】リクエストの取得方法 – Qiita
http://qiita.com/kazu56/items/7d344ccef56deef66a7a

名前付きでパラメータを受け取る方法 – Writing Some Code
http://d.hatena.ne.jp/ngtn/20080403/1207231914

[MySQL] ストレージエンジンに関するメモ

ストレージエンジンとは

  • 実データへのアクセス処理を主に行う機能部分
  • MySQLではストレージエンジン部分がモジュール化されたアーキテクチャを採用
  • MySQLのストレージエンジンはテーブル単位で指定できる

ストレージエンジンの種類

  • MyISAM – MySQL標準のストレージエンジンとして使用される
  • InnoDB – 行ロックとトランザクションをサポートする
  • Memory – メモリ上にテーブルを配置する
  • Merge – 複数のMyISAMテーブルを統合する
  • Archive – 圧縮したデータベースを使用する
  • Federated – リモートのデータベースを参照する
  • NDB – クラスター構成にて使用される
  • CSV – データファイルにCSVを使用する
  • Blackhole – ダミーテーブルを使用する

MyIASM vs InnoDB

MyISAM

  • MySQL 5.5以前のデフォルト
  • テーブル単位でロック
  • トランザクション機能を持たない
  • 全文検索機能(FULLTEXTインデックス)がある
  • クラッシュセーフではない (壊れやすい?)

InnoDB

  • MySQL 5.5以後のデフォルト
  • レコード単位でロック
  • トランザクション機能を持つ
  • 全文検索機能がない
  • クラッシュセーフ (壊れにくい?)

いまどきのシステムならInnoDBを使ったほうが有利かも。

参考サイト

[ThinkIT] 第1回:MySQLストレージエンジンの概要 (1/3)
http://thinkit.co.jp/free/article/0608/1/1/

[ThinkIT] 第2回:MyISAMとInnoDB (1/3)
http://thinkit.co.jp/free/article/0608/1/2/

MySQLの「InnoDB」と「MyISAM」についての易しめな違い – Programming log – Shindo200
http://shindolog.hatenablog.com/entry/2015/04/01/185703

Open database life: MyISAMとInnoDBのどちらを使うべきか
http://opendatabaselife.blogspot.com/2009/10/myisaminnodb.html

漢(オトコ)のコンピュータ道: MyISAMからInnoDBへ切り替えるときの注意点
http://nippondanji.blogspot.com/2009/02/myisaminnodb.html

運用視点なMyISAMとInnoDBと。 | LexTech
http://tech.lexues.co.jp/archives/1405

MySQLによるデータウェアハウス構築 – Yahoo! JAPAN Tech Blog
http://techblog.yahoo.co.jp/web/auctions/mysql/

[Apache] MySQLを使ったBASIC認証

MySQLを使ってBASIC認証を行うにはmod_auth_mysqlを使う。

公式サイト

mod_auth_mysql
http://modauthmysql.sourceforge.net/

参考サイト

Apacheの基本認証をDBを使って行うmod_auth_mysql – プログラマになりたい
http://blog.takuros.net/entry/20101030/1288443379

Apache 2.2.x でベーシック認証(2) ~ MySQL を利用する~ | UB Lab.
http://www.united-bears.co.jp/blog/archives/2435

認証、承認、アクセス制御 – Apache HTTP サーバ バージョン 2.4
http://httpd.apache.org/docs/2.4/ja/howto/auth.html