目次

PHP逆引きレシピ CONTENTS

 はじめに
 本書の使い方 

第1章 準備
  1.1 サーバー環境
    001 サーバーのPHP情報を知りたい
    002 php.iniとは?
    003 文字エンコードを統一したい
    004 日本語関連の設定をしたい
  1.2 開発環境
    005 PHPマニュアルを使いたい
    006 開発環境を作りたい
    007 XAMPPをインストールしたい
    008 MAMPをインストールしたい
    009 WindowsにEclipse PDTをインストールしたい
    010 Mac OS XにEclipse PDTをインストールしたい 

第2章 PHPの基本構文
  2.1 変数
    011 変数と文字列を出力したい
    012 echo <<<END、$変数 = <<<END って何ですか?
    013 変数がセットされているかどうか調べたい
    014 変数の型を調べたい
    015 (int)、(string) って何ですか?
    016 NULLって何ですか?
    017 =&って何ですか?
    018 環境変数の情報を取得するには?
  2.2 定数
    019 定数を使用するには?
    020 定義済みの定数を知りたい
  2.3 条件分岐
    021 条件で処理を分岐するには?
    022 switch文の使い方を知りたい
    023 「条件式 ? 式1 : 式2」って何ですか?
    024 2つの値を比較するには?
    025 ==と=== 、!=と!==の違いは?
  2.4 繰り返し処理
    026 PHPの繰り返し構文を知りたい
    027 繰り返し処理の途中でループを抜けたい
    028 繰り返し処理の途中でスキップしたい
  2.5 関数
    029 関数を定義したい
    030 デフォルト引数値を指定したい
    031 関数の引数に付いた&って何ですか?
    032 引数の数が変わる関数を定義したい
    033 変数のスコープを知りたい
    034 静的変数とは?
    035 関数が定義済みかどうか調べたい
    036 関数から複数の値を受け取りたい
  2.6 ファイルのインクルード
    037 他のファイルを取り込んで利用したい
  2.7 エラー処理
    038 エラーメッセージを制御したい
    039 エラーレベルを設定したい
    040 エラーメッセージを送信したい
    041 ユーザーエラーを発生させたい 

第3章 PHPの基本テクニック
  3.1 文字列
    042 文字列の一部を取り出したい
    043 特定の文字列が含まれているか調べたい
    044 文字列を置き換えたい
    045 正規表現によるパターンマッチをしたい
    046 正規表現による複雑な文字列の置き換えをしたい
    047 文字列を繰り返し表示したい
    048 アルファベットを小文字から大文字に変換したい
    049 アルファベットを大文字から小文字に変換したい
    050 全角英数字を半角に変換したい
    051 半角英数字を全角に変換したい
    052 カナ文字を全角かなや半角カナに変換したい
    053 文字列の前後の空白を削除したい
    054 文字列の長さを調べたい
    055 文字エンコードを変換したい
    056 ハッシュ値を求めたい
    057 ランダムな文字列を生成したい
  3.2 数値
    058 数値の丸め(四捨五入)、切り上げ、切り捨てをしたい
    059 数値を3桁ごとにカンマ区切りしたい
    060 数値を必ず小数点以下まで表示させたい
    061 乱数を生成したい
  3.3 日付時刻
    062 日付や時刻の一部を取り出して使いたい
    063 日付の表示形式を変えたり、日付の加減算をしたい
    064 現在のタイムスタンプを取得したい
    065 日付をタイムスタンプに変換したい
    066 文字列表現の日付をタイムスタンプに変換したい
    067 日付が正しいかどうかチェックしたい
    068 指定した日付の曜日を求めたい
    069 月末日を求めたい
    070 締め日を求めたい
    071 「第3月曜日」を求めたい
    072 指定した日付の年度を求めたい
    073 西暦を和暦にしたい
    074 生年月日から現在の年齢を求めたい
    075 カレンダーを表示したい
    076 日付セレクトメニューを表示したい
  3.4 配列
    077 配列を使いたい
    078 配列の内容をデバッグ表示したい
    079 配列を結合したい
    080 配列を並べ替えたい
    081 配列を逆順にしたい
    082 連想配列を値で並べ替えたい
    083 連想配列を添え字で並べ替えたい
    084 配列の先頭に値を追加したい
    085 配列の末尾に値を追加したい
    086 配列の指定箇所に値を追加したい
    087 配列の先頭を取り除きたい
    088 配列の末尾を取り除きたい
    089 配列の指定範囲を取り除きたい
    090 配列の指定範囲を置き換えたい
    091 配列の一部を取り出したい
    092 配列に値が存在するか調べたい
    093 配列の値を一度に複数の変数へセットしたい
    094 配列のすべての要素を一括処理したい
    095 配列を連結して1つの文字列にしたい
    096 カンマやスペース区切りの文字列を分割して配列にしたい
  3.5 PHPの設定
    097 PHPの設定を調べたい
    098 PHPの設定を一時的に変更したい
  3.6 ベンチマーク
    099 ベンチマークを取得したい
    100 関数の平均実行時間を測定したい 

第4章 ファイルとディレクトリ
  4.1 ファイル
    101 ファイルを扱う処理の流れは?
    102 日別のログファイルを作成したい
    103 一時ファイルにデータを書き込みたい
    104 fopen()関数を使わずにファイルにデータを書き込みたい
    105 ファイルのデータを取得したい
    106 ファイルから指定バイト数ずつ取得したい
    107 ファイルのデータをまとめて取得したい
    108 ファイルを使ってアクセスカウンタを作成したい
    109 ファイルの最終更新時刻を取得したい
    110 ファイルのサイズを取得したい
    111 ファイルの拡張子を取得したい
    112 パス名からファイル名を取得したい
    113 ファイルが存在するか調べたい
    114 ファイルが読み取り可能か調べたい
    115 ファイルが書き込み可能か調べたい
    116 ファイルをコピーしたい
    117 ファイルを削除したい
  4.2 ディレクトリ
    118 ディレクトリを作成したい
    119 パス名からディレクトリ名を取得したい
    120 絶対パス名を取得したい
    121 ディレクトリが使用可能な容量を取得したい
    122 ディレクトリを削除したい
    123 ディレクトリ内のディレクトリやファイル名を取得したい
    124 ディレクトリ内の画像を一覧表示したい
  4.3 PDFファイル
    125 PDFファイルを生成したい
    126 PDFにリンク文字列を書き込みたい
    127 PDFに表を書き込みたい
    128 PDFに直線を書き込みたい
    129 PDFに画像を挿入したい
    130 テキストファイルをPDFに変換したい
    131 既存のPDFファイルを元にPDFファイルを生成したい
  4.4 CSVファイル
    132 CSVファイルを読み込みたい
    133 CSVファイルを出力したい
  4.5 画像ファイル
    134 画像を作成したい
    135 画像をファイルとして保存したい
    136 既存ファイルから画像を生成したい
    137 画像のサムネイルを生成したい
    138 画像にテキストを追加したい
    139 画像に点を描き込みたい
    140 画像のサイズを取得したい
    141 グラフを生成したい
    142 折れ線グラフを生成したい
    143 棒グラフを生成したい
    144 パイグラフを生成したい
    145 QRコードを生成したい 

第5章 PEARとSmarty
  5.1 PEARの使い方
    146 PEARを使いたい
    147 PEARをアップグレードしたい
  5.2 Smartyの使い方
    148 Smartyを使いたい
    149 テンプレートを分割したい
    150 フィルターを使いたい
    151 繰り返し処理したい
    152 条件分岐したい
    153 スーパーグローバル変数を取得したい
    154 メールアドレスの暗号化でSPAM対策したい 

第6章 Webプログラミング
  6.1 フォームの基礎
    155 フォームを使いたい
    156 テキストボックスを使いたい
    157 テキストエリアを使いたい
    158 パスワードボックスを使いたい
    159 セレクトメニューを使いたい
    160 ラジオボタンを使いたい
    161 チェックボックスを使いたい
    162 隠しフィールドを使いたい
    163 ファイル名入力ボックスを使いたい
    164 ボタンを使いたい
  6.2 フォームの実際
    165 複数選択可能なセレクトメニューやチェックボックスの値を受け取りたい
    166 日付入力のためのフォームを生成したい
    167 データが代入されたかどうかをチェックしたい
    168 データ入力時のみデータを処理するには?
    169 特定の文字列を含むかチェックしたい
    170 文字数や桁数をチェックしたい
    171 数値かどうかをチェックしたい
    172 金額にカンマを付けたい
    173 日付かどうかチェックしたい
    174 ファイルの拡張子をチェックしたい
    175 メールアドレスの形式をチェックしたい
    176 データベースに登録済みかどうかチェックしたい
    177 配列からラジオボタンを生成したい
    178 データベースからセレクトメニューを生成したい
    179 簡単なログインフォームを作成したい
    180 メール送信フォームを作成したい
    181 magic_quotes_gpcがOnでもOffでも動作するようにしたい
  6.3 入力データの加工
    182 安全なデータベース操作をしたい
    183 安全にブラウザで値を表示したい
    184 タグを取り除きたい
    185 URIの一部に日本語を利用したい
    186 改行タグを改行文字の前に挿入したい
    187 複数の検索キーワードで検索したい
    188 複数選択されたデータを検索したい
    189 年/月/日のデータをタイムスタンプに変換したい
    190 「YYYY/MM/DD」形式の日付を利用したい
  6.4 Cookie
    191 データをCookieに保存したい
    192 Cookieのデータを読み取りたい
  6.5 セッション
    193 セッションを使いたい
    194 セッション名を取得/設定したい
    195 セッションIDを取得したい
    196 セッション変数を使いたい
    197 セッション変数を破棄したい
    198 セッションCookieのパラメータを設定したい
    199 セッションを破棄したい
  6.6 ファイルアップロード
    200 アップロードされたファイルか調べたい
    201 複数の画像ファイルをアップロードしたい
    202 ファイルをダウンロードさせたい
  6.7 メール処理
    203 添付ファイル付きのメールを送りたい
    204 メールをPOPサーバーから取得したい
  6.8 ネットワーク
    205 IPアドレスからホスト名を取得したい
    206 ホスト名からIPアドレスを取得したい
  6.9 HTTPヘッダー
    207 HTTPヘッダーを送信したい
    208 別のページに飛ばしたい
    209 キャッシュを無効にしたい
  6.10 データベース(MySQL)
    210 データベースに接続したい
    211 複数行の結果を取得したい
    212 1行の結果を取得したい
    213 レコードをオブジェクトとして取得したい
    214 新規レコードを作成したい
    215 イメージデータを格納したい
    216 レコードを更新したい
    217 レコードを削除したい
    218 クエリ結果のメモリを解放したい
    219 テーブルを作成したい
    220 エラー情報を取得したい
  6.11 その他
    221 ユニークなIDを作成したい
    222 URIの構成要素を解析したい
    223 処理を一時停止したい 

第7章 クラスとオブジェクト
  7.1 クラスの基礎
    224 クラスとは?
    225 クラスを使いたい
    226 「$this」や「->」とは何ですか?
    227 クラスの継承とは?
    228 コンストラクタとは?

第8章 セキュリティ
  8.1 セキュリティ対策の基本
    229 セキュリティ対策の基本を知りたい
    230 入力値の検証方法を知りたい
    231 文字列を比較する場合の注意点を知りたい
  8.2 PHPの設定
    232 本番環境でのエラー出力の設定方法は?
    233 セーフモードとは?
    234 より安全なphp.ini設定を知りたい
  8.3 セキュリティ対策
    235 パラメータ改竄とは?
    236 XSSとは?
    237 XSS対策をしたい
    238 CSRFとは?
    239 NULLバイト攻撃とは?
    240 SQLインジェクションとは?
    241 OSコマンドインジェクションとは?
    242 ディレクトリトラバーサルとは?
    243 インクルード攻撃とは?
    244 eval利用攻撃とは?
    245 メールヘッダーインジェクションとは?
    246 Cookieを安全に利用したい
    247 セッションハイジャック対策をしたい
    248 セッション固定化攻撃を防ぎたい
    249 SSL利用時にセッションを安全に利用したい
    250 Ajaxのセキュリティについて知りたい 

第9章 トラブルシューティング
  9.1 エラー表示など
    251 ページが真っ白で何も表示されない
    252 大量のNoticeエラーが表示される
    253 「Warning: Cannot modify header information ...」エラーが表示される
    254 特定の処理においてエラーを無視したい
  9.2 文字化け
    255 日本語のWebページが文字化けする
    256 フォームから送信された値が文字化けしたり表示されない
    257 フォームから送信された「申込」が「申¥込」になる
    258 日時だけが文字化けする

第10章 アプリケーション編
  10.1 phpMyAdmin
    259 phpMyAdminを使いたい
  10.2 WordPress
    260 WordPressを使いたい
  10.3 MyNETS
    261 MyNETSを使いたい 

COLUMN Contents
  PHPの終了タグ
  mbstringで使う文字エンコード名
  Windows Vistaでのchmファイル
  PHPスクリプトを記述するテキストエディタ
  XAMPPのセキュリティ
  MAMPのセキュリティ
  エスケープシーケンスとは
  条件の数値はハードコードせず変数に追い出す
  switch文の比較
  文字列比較で気をつけるべきこと
  スーパーグローバル変数
  require、include、require_once、include_onceの違い
  「POSIX拡張正規表現」関数とセキュリティ
  strtotime()関数を使って「第3月曜日」を求めることは避ける
  PHP5.3でDeprecatedエラーが出力されてしまう
  配列と連想配列
  ini_get()関数、ini_get_all()関数を使ったテクニック
  openpearについて
  おすすめのFTPクライアント
  $_SERVER['PHP_SELF']とXSS脆弱性
  Windowsでのメールの開発テスト
  オブジェクト指向
  オブジェクトの代入
  どのバージョンのPHPを使うべき?
  MySQLでの自動型変換
  magic_quotes_gpcとNULLバイト
  インクルードファイルの流出
  脆弱性情報の収集
  レンタルサーバーでのphpMyAdminの起動
  照合順序
  レンタルサーバーでのデータベース作成
  レンタルサーバーでのデータベース削除
  レンタルサーバーのソフトウェア情報
  パーミッション
  XREAでのセーフモードの制限に対する対処方法
  さくらインターネットのcron設定変更点
  Fromアドレス偽装対策