速攻&活用!Web開発者のためのPHPベストサンプル集

[表紙]速攻&活用!Web開発者のためのPHPベストサンプル集

紙版発売

B5変形判/496ページ/CD1枚

定価3,630円(本体3,300円+税10%)

ISBN 978-4-7741-3175-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は多数のサンプルを収録したPHPプログラミング解説書です。幅広いユーザ層に活用していただけるよう,メッセージを出力する単純なものから,Webフォームやデータベース,クッキーを操作するものまで,あらゆるレベル/用途を想定したサンプルプログラムを掲載しています。Webサイト構築で活用することはもちろん,PHPプログラミング学習の参考用としても活用できる内容です。

こんな方におすすめ

  • PHPによるWebアプリケーション開発を勉強している人
  • PHPでWebアプリケーションを開発している人

著者の一言

本書はPHPの小粒なサンプルスクリプト集です。PHPのシステム構築でよく使われる処理を体系的に紹介しています。「総合的な機能を持ったWebアプリケーション」というレベルのサンプルはありませんが,小さな部品としてさまざまな場面で使えるサンプルを取り揃えています。

プログラミング初心者のPHPの学習用として,あるいは中級者以上のWebシステム開発時の“部品箱”として,本書をパソコンの傍らに置いていただければ幸いです。

目次

第1章 基本プログラミング

  • 1-1 PHPスクリプトの基本
    • 1-1-1 PHPスクリプトを宣言する
    • 1-1-2 画面に値を出力する
    • 1-1-3 変数を使う
    • 1-1-4 変数の型
    • 1-1-5 変数を宣言する
    • 1-1-6 定数を使う
    • 1-1-7 エスケープシーケンス
    • 1-1-8 可変変数の使い方
    • 1-1-9 PHPとHTMLを組み合わせる
    • 1-1-10 HTMLに部分的にPHPを埋め込む
    • 1-1-11 1行のコメントを記述する
    • 1-1-12 複数行のコメントを記述する
  • 1-2 繰り返し処理と分岐処理
    • 1-2-1 処理を繰り返す(for)
    • 1-2-2 処理を繰り返す(while)
    • 1-2-3 処理を繰り返す(do)
    • 1-2-4 処理を分岐する(if)
    • 1-2-5 処理を分岐する(if else)
    • 1-2-6 HTMLを含む処理の分岐
    • 1-2-7 条件によって代入する値を切り替える
    • 1-2-8 処理を分岐する(比較演算子)
    • 1-2-9 処理を分岐する(論理演算子)
    • 1-2-10 処理を分岐する(switch)
    • 1-2-11 ループを強制的に抜ける
  • 1-3 強制的に終了する
    • 1-3-1 スクリプトを直ちに終了する
    • 1-3-2 メッセージを表示してスクリプトを終了する
    • 1-3-3 エラーメッセージを無視するには?

第2章 数値の処理

  • 2-1 基本的な計算処理
    • 2-1-1 四則演算する
    • 2-1-2 同じ変数に四則演算結果を代入する
    • 2-1-3 インクリメント・デクリメントする
    • 2-1-4 数値をフォーマットする
    • 2-1-5 絶対値を求める
  • 2-2 小数点数を扱う
    • 2-2-1 小数を四捨五入する
    • 2-2-2 小数を切り捨てる
    • 2-2-3 小数を切り上げる
  • 2-3 乱数を扱う
    • 2-3-1 乱数を生成させる
    • 2-3-2 パスワードを自動生成する
    • 2-3-3 画像をランダムに表示する
    • 2-3-4 広告バナーをランダム表示する
  • 2-4 最大値・最小値・べき乗・平方根を求める
    • 2-4-1 最大値を求める
    • 2-4-2 最小値を求める
    • 2-4-3 べき乗を求める
    • 2-4-4 平方根を求める

第3章 文字列の処理

  • 3-1 文字列の基本的な出力・結合
    • 3-1-1 文字列を出力する
    • 3-1-2 文字列を結合する
  • 3-2 文字列を操作する
    • 3-2-1 文字列変数に文字列をつなげる
    • 3-2-2 文字列を整形する
    • 3-2-3 複数の文字列をCSV形式でつなげる
    • 3-2-4 文字列の長さを調べる
    • 3-2-5 文字列内を検索する
    • 3-2-6 文字列の先頭を取り出す
    • 3-2-7 文字列の中間を取り出す
    • 3-2-8 文字列の後ろを取り出す
    • 3-2-9 指定文字の出現位置以降の文字列を取り出す
    • 3-2-10 文字列が指定文字リストだけで構成されているか確認する
  • 3-3 文字列を置換する
    • 3-3-1 指定した文字を別の文字列に置換する
    • 3-3-2 指定位置の文字列を置換する
    • 3-3-3 文字列を指定文字で埋める
    • 3-3-4 文字列を繰り返す
    • 3-3-5 文字列の前後を反転する
    • 3-3-6 文字列を指定の区切り文字で分割する
    • 3-3-7 大文字・小文字を変換する
    • 3-3-8 先頭文字だけ大文字に変換する
  • 3-4 文字列の高度な処理・加工
    • 3-4-1 2つの文字列を比較する(大文字/小文字の区別あり)
    • 3-4-2 2つの文字列を比較する(大文字/小文字の区別なし)
    • 3-4-3 文字列をエスケープする
    • 3-4-4 エスケープされた文字列をもとに戻す
    • 3-4-5 文字列の前後のスペースや指定文字を取り除く
    • 3-4-6 文字列の中間のスペースを取り除く
    • 3-4-7 指定文字を取り除く
    • 3-4-8 文字列を複数行に分割する
    • 3-4-9 文字列を指定位置でワードラップする
    • 3-4-10 指定文字が含まれる数を調べる
    • 3-4-11 HTMLソースを改行する
    • 3-4-12 文字列を暗号化する

第4章 マルチバイト文字の処理

  • 4-1 全角文字を処理する
    • 4-1-1 文字列の長さを調べる
    • 4-1-2 文字列内を検索する
    • 4-1-3 文字列内の一部を取り出す
    • 4-1-4 文字コードを変換する
  • 4-2 全角文字を変換する
    • 4-2-1 英数字の全角/半角を変換する
    • 4-2-2 ひらがな/カタカナを変換する
    • 4-2-3 カタカナの全角/半角を変換する
    • 4-2-4 スペースの全角/半角を変換する

第5章 変数の処理

  • 5-1 変数の値を調べる
    • 5-1-1 変数に値が代入されているか確認する
    • 5-1-2 変数が空かどうか確認する
    • 5-1-3 変数の型を取得する
    • 5-1-4 変数が特定の型かを調べる
    • 5-1-5 変数の型を変換する
    • 5-1-6 変数を破棄する

第6章 日付の処理

  • 6-1 日付・時刻を取得する
    • 6-1-1 現在の日付を取得する
    • 6-1-2 現在の時刻を取得する
    • 6-1-3 現在日付の曜日を取得する
    • 6-1-4 現在の日時を要素別に取得する
    • 6-1-5 タイムスタンプを取得する
  • 6-2 日付・時刻を処理する
    • 6-2-1 日時を加減算する
    • 6-2-2 文字列表記の日付をタイムスタンプに変換する
    • 6-2-3 2つの日時を比較する
    • 6-2-4 実在する日付かどうか確認する
    • 6-2-5 カレンダーを表示する

第7章 配列の処理

  • 7-1 配列の基本的な操作
    • 7-1-1 配列を作成する
    • 7-1-2 配列の値を取得する
    • 7-1-3 配列に複数データをまとめて代入する
    • 7-1-4 配列を複数の変数に展開する
    • 7-1-5 配列値をデバッグ用に列挙する
    • 7-1-6 配列のデータ数を調べる
    • 7-1-7 データ数が不明な配列を列挙する
    • 7-1-8 配列かどうか調べる
  • 7-2 配列へのデータの追加・削除
    • 7-2-1 配列の先頭データを削除する
    • 7-2-2 配列の先頭にデータを追加する
    • 7-2-3 配列の最後のデータを削除する
    • 7-2-4 配列の最後にデータを追加する
  • 7-3 配列のデータを処理する
    • 7-3-1 配列の途中の任意のデータを取り出す
    • 7-3-2 配列からランダムなデータを取り出す
    • 7-3-3 配列内のデータを検索する
    • 7-3-4 配列で禁止語がないか調べる
    • 7-3-5 配列内をポインタで移動する
    • 7-3-6 配列を昇順に並べ替える
    • 7-3-7 配列を降順に並べ替える
    • 7-3-8 配列を自然な順で並べ替える
    • 7-3-9 配列内のデータの合計値を求める
    • 7-3-10 配列内のデータが重複していないか調べる
    • 7-3-11 配列内から重複データを除去する
    • 7-3-12 異なる配列どうしを比較する
    • 7-3-13 文字列を分解して配列にする
    • 7-3-14 配列を文字列に統合する
  • 7-4 連想配列を使う
    • 7-4-1 連想配列の使い方
    • 7-4-2 連想配列のキーと値をペアで取り出す
    • 7-4-3 ポインタのあるデータのキーと値を取り出す
    • 7-4-4 連想配列のキーだけを別の配列に取り出す
    • 7-4-5 連想配列を値で検索してキーを取得する
    • 7-4-6 連想配列のキーと値を入れ替える
    • 7-4-7 連想配列をキーで並べ替える
    • 7-4-8 連想配列を値で並べ替える
  • 7-5 配列の応用
    • 7-5-1 配列内の重複データを取得する
    • 7-5-2 異なる配列を1つにまとめる
    • 7-5-3 変数を連想配列に統合する
    • 7-5-4 URLを配列に分解する

第8章 正規表現

  • 8-1 正規表現の基礎
    • 8-1-1 正規表現とは?
    • 8-1-2 データの検索(〜から始まるか確認)
    • 8-1-3 データの検索(〜で終わるか確認)
    • 8-1-4 データの検索(〜を含むか確認)
  • 8-2 正規表現の応用
    • 8-2-1 URLを確認する
    • 8-2-2 メールアドレスを確認する
    • 8-2-3 郵便番号を確認する
    • 8-2-4 データの置換
    • 8-2-5 URLをリンクタグに変換する
    • 8-2-6 郵便番号のフォーマットを変換する
    • 8-2-7 正規表現による文字列の分割

第9章 ディレクトリの処理

  • 9-1 ディレクトリの基本操作
    • 9-1-1 ディレクトリを作成する
    • 9-1-2 ディレクトリを削除する
    • 9-1-3 カレントディレクトリを取得する
    • 9-1-4 カレントディレクトリを移動する
  • 9-2 ディレクトリの情報を調べる
    • 9-2-1 ディレクトリ内を探索する
    • 9-2-2 ファイル一覧のリンクを表示する
    • 9-2-3 ディスクの総容量を調べる
    • 9-2-4 ディスクの残容量を調べる

第10章 ファイルの処理

  • 10-1 ファイルの情報を取得する
    • 10-1-1 PHPファイル自身のパスを取得する
    • 10-1-2 ファイルの相対パスから絶対パスを取得する
    • 10-1-3 フルパスからディレクトリ名を取り出す
    • 10-1-4 フルパスからファイル名を取り出す
    • 10-1-5 フルパスから拡張子を取り出す
    • 10-1-6 ファイルパスの情報を配列で取得する
    • 10-1-7 ファイルの種類を取得する
    • 10-1-8 ファイルのさまざまな属性を取得する
    • 10-1-9 ファイルのサイズを取得する
    • 10-1-10 ファイルの作成日時や更新日時を取得する
    • 10-1-11 ファイルの更新日時を強制的に変更する
  • 10-2 ファイルのを操作する
    • 10-2-1 空のファイルを生成する
    • 10-2-2 ファイルの存在を確認する
    • 10-2-3 URLのリンク切れを確認する
    • 10-2-4 ファイルをコピーする
    • 10-2-5 ファイルをリネームする
    • 10-2-6 ファイルを移動する
    • 10-2-7 ファイルを削除する
  • 10-3 テキストファイルのデータを操作する
    • 10-3-1 テキストファイルを読み書きする
    • 10-3-2 テキストファイルを1文字ずつ読み込む
    • 10-3-3 テキストファイルを1行ずつ読み込む
    • 10-3-4 テキストファイル全体を文字列として読み込む
    • 10-3-5 テキストファイル全体を配列として読み込む
    • 10-3-6 テキストファイルをフォーマットしながら読み込む
    • 10-3-7 テキストファイルの内容をそのまま画面表示する
    • 10-3-8 テキストファイルを書き込む
  • 10-4 ファイルの高度な処理
    • 10-4-1 ファイルのロックを制御する
    • 10-4-2 CSVファイルのデータを読み込む
    • 10-4-3 CSVファイルにデータを書き出す
    • 10-4-4 CSVファイルを読み込み後に列分割する
    • 10-4-5 HTMLファイルをそのまま出力する
    • 10-4-6 テンポラリファイルを作成する
    • 10-4-7 RSSのXMLデータを画面表示する

第11章 ユーザ定義関数の使用

  • 11-1 関数の基礎知識
    • 11-1-1 関数とは?
    • 11-1-2 変数のスコープ
  • 11-2 引数と返り値
    • 11-2-1 引数の値渡し
    • 11-2-2 引数の参照渡し
    • 11-2-3 複数の返り値を持つ関数
    • 11-2-4 可変引数の関数
    • 11-2-5 渡された可変引数の数を調べる
    • 11-2-6 指定位置の引数値を調べる
    • 11-2-7 仮引数のデフォルト値を設定する
  • 11-3 関数の高度な処理
    • 11-3-1 グローバルな変数を関数内で使う
    • 11-3-2 関数内で定義されている変数を列挙する
    • 11-3-3 定義されている関数を列挙する
    • 11-3-4 定型HTMLの関数化
    • 11-3-5 外部スクリプトファイルの取り込み

第12章 HTMLフォームの処理

  • 12-1 フォームからデータを受け取る
    • 12-1-1 フォームのデータを受け取る(POST)
    • 12-1-2 フォームのデータを受け取る(GET)
    • 12-1-3 POST/GETどちらで送信されたか調べる
    • 12-1-4 POST/GETの内容を変数で受け取る
    • 12-1-5 自分自身のフォームデータを受け取る
    • 12-1-6 パラメータ付きリンクを受け取る
    • 12-1-7 テキストボックスへの入力値を取得する
    • 12-1-8 ラジオボタンの選択値を取得する
    • 12-1-9 チェックボックスのチェックの有無を取得する
    • 12-1-10 複数のチェックボックスの状態を変数名で調べる
    • 12-1-11 複数のテキストボックスの入力値を配列で調べる
    • 12-1-12 リストボックスの選択値を取得する
    • 12-1-13 複数行テキスト領域への入力値を取得する
    • 12-1-14 クリックされたボタンを調べる
  • 12-2 受け取ったデータを確認・加工する
    • 12-2-1 HTMLタグを除去する
    • 12-2-2 HTMLの特殊文字を実体参照に置換する
    • 12-2-3 改行タグを追加する
    • 12-2-4 エスケープ文字を除去する
    • 12-2-5 受け取ったデータの妥当性を確認する
    • 12-2-6 受け取ったデータの未入力を確認する
    • 12-2-7 受け取ったデータを次ページに渡す
    • 12-2-8 受け取ったデータを数値として処理する
    • 12-2-9 URLエンコードされたデータを元に戻す
    • 12-2-10 文字列をURLエンコードする
  • 12-3 高度なフォーム処理
    • 12-3-1 ファイルをアップロードする
    • 12-3-2 複数のファイルをまとめてアップロードする
    • 12-3-3 別ページへ強制ジャンプさせる
    • 12-3-4 検索エンジンサイトにキーワードを渡す
    • 12-3-5 フォントサイズを動的に切り替える
    • 12-3-6 ページのスタイル(CSS)を動的に切り替える
    • 12-3-7 2つのリストボックスのリストを連動させる
    • 12-3-8 どのページから呼ばれたか確認する
    • 12-3-9 アクセスユーザのブラウザ情報を調べる
    • 12-3-10 ユーザ環境によって表示するページを切り分ける

第13章 クッキーの処理

  • 13-1 クッキーの基本操作
    • 13-1-1 クッキーにデータを保存する
    • 13-1-2 クッキーからデータを読み込む
    • 13-1-3 クッキーのデータを削除する
  • 13-2 クッキーの応用
    • 13-2-1 フォームへの前回入力値を自動入力する
    • 13-2-2 カートに入れる仕組みを作る(クッキー版)

第14章 セッションの処理

  • 14-1 セッション処理の基本
    • 14-1-1 セッションを開始する
    • 14-1-2 セッション変数にデータを保存する
    • 14-1-3 セッション変数のデータを読み込む
    • 14-1-4 セッション変数を破棄する
    • 14-1-5 セッション変数が設定されているか調べる
    • 14-1-6 セッションを終了する
    • 14-1-7 セッション名を変更する
    • 14-1-8 セッションIDを変更する
  • 14-2 セッション処理の応用
    • 14-2-1 セッション変数を使ってユーザIDを使い回す
    • 14-2-2 カートに入れる仕組みを作る(セッション版)

第15章 MySQLデータベースの処理

  • 15-1 データベースの基礎知識
    • 15-1-1 データベースを開く
    • 15-1-2 テーブルの全レコードを読み込む
  • 15-2 条件を指定してデータを取り出す
    • 15-2-1 条件にあったレコードのみ取り出す
    • 15-2-2 複数の条件にあったレコードのみ取り出す
    • 15-2-3 あいまいな条件にあったレコードのみ取り出す
    • 15-2-4 条件にあったフィールドのみ取り出す
    • 15-2-5 読み込んだレコード数を調べる
    • 15-2-6 SQLでレコード数を取得する
    • 15-2-7 レコードを並べ替えて取り出す
    • 15-2-8 HTMLフォームで動的に並べ順を変える
    • 15-2-9 特定の位置から指定レコード数のみ取り出す
    • 15-2-10 新着データをピックアップ表示する
    • 15-2-11 トップ5/ワースト5のレコードのみ取り出す
    • 15-2-12 一定件数ずつレコードを画面表示する
    • 15-2-13 ランダムな1件のレコードを取り出す
  • 15-3 レコードを操作する
    • 15-3-1 レコードをグループ化して取り出す
    • 15-3-2 グループごとの合計や平均を集計する
    • 15-3-3 グループごとの最大値/最小値を集計する
    • 15-3-4 グループごとのレコード数を集計する
    • 15-3-5 グループごとの集計結果を演算する
    • 15-3-6 レコードのフィールド数を調べる
    • 15-3-7 レコードのフィールド名を調べる
    • 15-3-8 レコードとフィールドを配列で読み込む
    • 15-3-9 テーブルにレコードを追加する
    • 15-3-10 配列のデータをまとめて追加する
    • 15-3-11 テーブルのレコードを更新する
    • 15-3-12 同一データがあれば更新,なければ追加する
    • 15-3-13 テーブルのレコードを削除する
    • 15-3-14 直近に編集されたレコード数を確認する
    • 15-3-15 レコードが更新されなかったら追加する
  • 15-4 データベースから情報を得る
    • 15-4-1 直前に追加されたオートインクリメント値を取得する
    • 15-4-2 直前に発生したエラー内容を調べる
    • 15-4-3 リンクのクリック数を保存する
    • 15-4-4 ページビューをカウントする
    • 15-4-5 アクセスカウンタを表示する
    • 15-4-6 テーブル内容をCSVファイルでダウンロードする
  • 15-5 データベースの高度な操作
    • 15-5-1 データベースを新規作成する
    • 15-5-2 テーブルを新規作成する
    • 15-5-3 テーブルの一覧を取得する
    • 15-5-4 テーブルの構造を取得する
    • 15-5-5 テーブルを削除する
    • 15-5-6 データベースを削除する
    • 15-5-7 ストアドプロシージャを作る
    • 15-5-8 ストアドプロシージャを呼び出す

第16章 画像の処理

  • 16-1 直線・四角形・円・文字などを描く
    • 16-1-1 直線を描く
    • 16-1-2 四角形を描く
    • 16-1-3 円を描く
    • 16-1-4 文字列を描く
    • 16-1-5 直線をつなげてグラフを描く
  • 16-2 画像ファイルを処理する
    • 16-2-1 画像のサイズを調べる
    • 16-2-2 画像のサイズを変更する
    • 16-2-3 画像を縮小して保存する
    • 16-2-4 画像をトリミングする
    • 16-2-5 画像を合成する
    • 16-2-6 画像をグレースケールに変換する
    • 16-2-7 画像を塗りつぶす
    • 16-2-8 画像をPNG形式に変換する
    • 16-2-9 画像をJPEG形式に変換する
    • 16-2-10 ディレクトリ内の画像情報を一覧表示する
    • 16-2-11 ディレクトリ内の画像をサムネイル表示する
    • 16-2-12 ディレクトリ内の画像をスライドショー表示する

第17章 FTPの処理

  • 17-1 FTPサーバに接続する
    • 17-1-1 FTPサーバに接続するための手順
    • 17-1-2 カレントディレクトリを取得する
    • 17-1-3 カレントディレクトリを移動する
  • 17-2 FTPサーバ上のディレクトリやファイルを操作する
    • 17-2-1 ディレクトリを作成する
    • 17-2-2 ディレクトリを削除する
    • 17-2-3 ディレクトリ内のファイル一覧を取得する
    • 17-2-4 ファイルをアップロードする
    • 17-2-5 ファイルをダウンロードする
    • 17-2-6 ファイルをリネームする
    • 17-2-7 ファイルを削除する

第18章 メールの処理

  • 18-1 メールの受信
    • 18-1-1 受信メールサーバに接続する
    • 18-1-2 受信メールの件数を調べる
    • 18-1-3 受信メールの一覧を表示する
    • 18-1-4 受信メールを並べ替える
    • 18-1-5 メールの本文を読み込む
    • 18-1-6 メールを削除する
  • 18-2 メールの送信
    • 18-2-1 メールを送信する
    • 18-2-2 複数アドレスに一括送信する
    • 18-2-3 メール送信フォームを作る
    • 18-2-4 新着情報をメールで知らせる

Appendix 開発環境の構築

著者プロフィール

星野努(ほしのつとむ)

データベースシステム開発,データベース関連の書籍執筆など中心に活動する,ティーズウェア代表。Accessとの付き合いは,はじめての日本語版であるAccess1.1から早14年,一貫してAccess中心の開発を行っている。最近ではその応用でSQL Server,Oracle,MySQLなどのデータベースにも手を広げているが,フロントエンドのメインはやっぱりAccess。