ISBN: 4-7980-0247-X
今日からつかえるPHP4サンプル集
サポート終了
| 著者 | 山田祥寛 |
|---|---|
| 出版社 | 秀和システム |
| 価格 | 2,800円(税別) |
| 判型 | B5変判・2色 |
| ページ数 | 500ページ |
| 付属 | CD-ROM 1枚 |
| 発売日 | 2002年1月30日 |
| シリーズ | 今日からつかえるサンプル集 |
| 対象レベル | 中級 |
初心者向けPHPサンプル集
添付CD-ROMですぐに試せる豊富なサンプル群を提供します。組み込み関数を活用した基本的なテクニックから追加モジュールによる拡張関数の活用、データベース連携によるアプリケーション構築まで充実のサンプル集。
更新履歴
- FAQ情報:2003年11月20日 更新
- 正誤訂正:2003年3月6日 更新
目次
- 第1章 イントロダクション
- 1-01 PHPが今、注目されている理由
- 1-02 PHPの基本知識
- 1-03 各種基本設定
- 第2章 基本から学ぼうPHP
- 2-01 外部の検索エンジンを活用したい
- 2-02 広告バナーをランダムに切り替えたい
- 2-03 ソースコードを色分け表示したい
- 2-04 新着情報をユーザに知らせたい
- 2-05 ファイルをアップロードしたい
- 2-06 アプリケーションで発生したエラー情報を記録したい
- 2-07 ファイルサーバ上のドキュメントを簡単に公開したい
- 2-08 ページ単位のアクセス記録を集計したい
- 2-09 グラフィカルアクセスカウンタを設置したい
- 2-10 XML文書をCSVファイルに変換したい
- 第3章 追加モジュールでレベルアップPHP
- 3-01 動的なページを個々に記録したい
- 3-02 簡易なメモ帳システムを構築したい
- 3-03 伝票をサーバ側で印刷したい(Windows Only)
- 3-04 PDF文書を動的に生成したい
- 3-05 メール送信フォームを構築したい
- 3-06 ブラウザ上からメールボックスにアクセスしたい
- 3-07 Namazuで全文検索を構築したい
- 3-08 エラーメッセージを一元的に管理したい
- 3-09 数値データから動的にグラフを生成したい
- 3-10 テンプレートで新着情報の運用を効率化したい
- 3-11 リンク情報を一元的に管理したい
- 3-12 XML+XSLTでマルチデバイス対応のページを作成したい
- 第4章 データベースでカンタン高度なPHP
- 4-01 データベースの内容をHTML化したい
- 4-02 テーブルの定義情報を閲覧したい
- 4-03 データベースの内容をダウンロードしたい
- 4-04 データベースに大量データを一括アップロードしたい
- 4-05 テーブルの内容をXMLファイルとして出力したい
- 4-06 ADOを使ってデータベースにアクセスしたい(Windows Only)
- 4-07 MySQL用GUIクライアントを作成したい
- 第5章 いよいよ挑戦!システム構築PHP
- 5-01 グループスケジュール管理〜概要
- 5-02 グループスケジュール管理(1)〜ログイン〜
- 5-03 グループスケジュール管理(2)〜今月のカレンダー〜
- 5-04 グループスケジュール管理(3)〜日ごとのスケジュール確認〜
- 5-05 グループスケジュール管理(4)〜グループ内メンバのスケジュール検索〜
- 5-06 電子商店街〜概要〜
- 5-07 電子商店街(1)〜メインメニュー〜
- 5-08 電子商店街(2)〜品物をカゴに入れる〜
- 5-09 電子商店街(3)〜精算場〜
- 5-10 検索エンジン〜概要〜
- 5-11 検索エンジン(1)〜新規サイト登録〜
- 5-12 検索エンジン(2)〜カテゴリ検索〜
- 5-13 検索エンジン(3)〜キーワード検索〜
- 5-14 検索エンジン(4)〜自分だけのカスタマイズページ〜
- 5-15 資産管理システム〜概要〜
- 5-16 資産管理システム(1)〜ログイン〜
- 5-17 資産管理システム(2)〜新規資産登録〜
- 5-18 資産管理システム(3)〜既存資産更新・削除〜
- 5-19 資産管理システム(4)〜資産検索〜
- 5-20 資産管理システム(5)〜ユーザ管理〜
- 5-21 資産管理システム(6)〜ログアウト〜
- 5-22 スレッド式掲示板〜概要〜
- 5-23 スレッド式掲示板(1)〜新規投稿〜
- 5-24 スレッド式掲示板(2)〜個別記事の表示と返信〜
- 5-25 スレッド式掲示板(3)〜記事の削除〜
- 5-26 スレッド式掲示板(4)〜掲示板の管理〜
- 5-27 スレッド式掲示板(5)〜記事の一覧表示と検索〜
- Appendix 簡易リファレンス
- Appendix A PHPリファレンス 基本構文編
- Appendix B PHPリファレンス 変数操作関数編
- Appendix C PHPリファレンス 変数・関数・クラス操作関数編
- Appendix D PHPリファレンス ファイルシステム関数編
- Appendix E PHPリファレンス ネットワーク関数編
- Appendix F PHPリファレンス データベース関数編
- Appendix G PHPリファレンス ドキュメント関数編
- Appendix H PHPリファレンス その他の関数編
- Appendix I PHPリファレンス 設定ファイル編
- Appendix J MySQLリファレンス
- Appendix K PHP関連情報
- 索引
- コラム目次
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.52 | 構成ファイル new.php、record.phpの配置位置 | - |
| /doc 配下 | /cookie 配下 | 2002/12/26 |
| p.94 | コラム バイナリ版MySQLのインストール方法(Red Hat Linux版) | 2刷 |
| 「Apacheのインストールに必要なRPMパッケージは…」 | 「MySQLのインストールに必要なRPMパッケージは…」 また、RPMパッケージ「MySQL-bench」は入れるとエラーが発生し、手順が繁雑 になるので削除してください。 |
2001/02/13 |
| p.94 | Column バイナリ版MySQLのインストール方法(Red Hut Linux版) | 2刷 |
| MuSQLインストール用の~ | MySQLインストール用の~ | 2001/02/19 |
| p.110 | 7行目後半~ | 2刷 |
| sendmail-8.12.1/obj.Linux.2.4.2-2.I686/sendmail/ | sendmail-8.12.1/obj.Linux.2.4.7-10.I686/sendmail/ | 2001/02/20 |
| p.238 | Column PHPにおける静的モジュールの組みこみ方法 スクリプト8行目 | 2刷 |
| --with-gd=/usr/local ¥ | --with-gd=/usr ¥ | 2001/02/13 |
| p.293 | admin.php スクリプト3行目 | - |
| Aministrator | Administrator | 2002/06/27 |
| p.305 | Appendix | - |
| - | 正誤表は以下のURLから http://member.nifty.ne.jp/Y-Yamada/php/errata.htm |
2003/03/06 |
| p.315 | class用例 | - |
| function test(){ $x=1; $y=1; } // コンストラクタを定義します |
function test(){ $this-<x=1; $this-<y=1; } // コンストラクタを定義します |
2002/10/15 |
| p.383 | header | - |
| header("Content-Type: text/html;charset:euc-jp"); | header("Content-Type: text/html;charset=euc-jp"); | 2002/09/24 |
FAQ
RedHatにCコンパイラ関係のモジュールがインストールされていないようです。
以下のURLを参考になさってみてください。
http://www.kt.rim.or.jp/~nozawat/gcc.html
以下のURLを参考になさってみてください。
http://www.kt.rim.or.jp/~nozawat/gcc.html
更新日: 2003.07.27
以下の点を変更(確認)してみて下さい。
1.php4ts.dllの格納場所
ダウンロードしたzipファイルを「c:\php」に展開します。展開されたフォルダ直下に格納されている「php4ts.dll」、及び、「c:\php\dlls」内の各DLLファイルをシステムフォルダにコピーします(WindowsXPでは「c:\windows\system32」、Windows2000/NTでは「c:\winnt\system32」、WindowsME/9xでは「c:\windows\system」)。
2.php.iniの位置
「c:\php」フォルダ直下にある「php,ini-dist」を「php,ini」にリネームした上で、Windowsフォルダに移動します
(Windows2000/NTでは「c:\winnt」、WindowsXP/Me/9xでは「c:\windows」) 。
3.register_globalsパラメータの設定
PHP4.2.x以上の環境では、セキュリティ上register_globalsパラメータがoffになっています。本書のサンプルはonの状態でないと動かないものがありますので注意してく ださい。尚、セキュリティ上onの状態は推奨されていないので、実際はスーパーグロ ーバル変数$_POST、$_GETなどにスクリプトを置き換えてみてください。
1.php4ts.dllの格納場所
ダウンロードしたzipファイルを「c:\php」に展開します。展開されたフォルダ直下に格納されている「php4ts.dll」、及び、「c:\php\dlls」内の各DLLファイルをシステムフォルダにコピーします(WindowsXPでは「c:\windows\system32」、Windows2000/NTでは「c:\winnt\system32」、WindowsME/9xでは「c:\windows\system」)。
2.php.iniの位置
「c:\php」フォルダ直下にある「php,ini-dist」を「php,ini」にリネームした上で、Windowsフォルダに移動します
(Windows2000/NTでは「c:\winnt」、WindowsXP/Me/9xでは「c:\windows」) 。
3.register_globalsパラメータの設定
PHP4.2.x以上の環境では、セキュリティ上register_globalsパラメータがoffになっています。本書のサンプルはonの状態でないと動かないものがありますので注意してく ださい。尚、セキュリティ上onの状態は推奨されていないので、実際はスーパーグロ ーバル変数$_POST、$_GETなどにスクリプトを置き換えてみてください。
更新日: 2002.09.19
PHP4.2.0の場合、P.34③の設定ファイルphp.iniをエディタで開き、register_global=offをregister_global=onにして下さい。
更新日: 2002.04.26
現時点では、PHP-4.1.2にすると拡張モジュール化できます。
更に、P.136 「(5)PHP用に拡張モジュール化する」の部分を以下のように変更します。
$ cd PHP_TOP_DIR/ext/gd
ここで、サンプルではlibjpegとlibpng以外使用しないので、config.m4に記述されている「Various checks for GD features」のPHP_GD_JPEG、PHP_GD_PNG以外 を全てコメントアウトします。
$ phpize
$ ./configure
$ make
$ su
$ make EXTENSION_DIR=/usr/local/lib/php/extensions install
PHP_TOP_DIRはPHPが解凍されたディレクトリに応じて変更します。これにより動的モジュールgd.soが /usr/local/lib/php/extensions にインストールされます。
更に、P.136 「(5)PHP用に拡張モジュール化する」の部分を以下のように変更します。
$ cd PHP_TOP_DIR/ext/gd
ここで、サンプルではlibjpegとlibpng以外使用しないので、config.m4に記述されている「Various checks for GD features」のPHP_GD_JPEG、PHP_GD_PNG以外 を全てコメントアウトします。
$ phpize
$ ./configure
$ make
$ su
$ make EXTENSION_DIR=/usr/local/lib/php/extensions install
PHP_TOP_DIRはPHPが解凍されたディレクトリに応じて変更します。これにより動的モジュールgd.soが /usr/local/lib/php/extensions にインストールされます。
更新日: 2002.03.16
P.34 「(4)Apacheの設定ファイル httpd.confを設定する」の部分で、Windows版Apache 1.3.22では、デフォルトの配布ファイルhttpd.conf-dist-winにClearModuleList ディレクティヴが含まれています。これを使用する時は、ファイル内に「AddModule mod_php4.c」という一文を追記してください。そうしないと、PHPがApacheのモジュールとして登録されません。
更新日: 2002.03.15
方法として2つ考えられます。
1:SRPMパッケージで、mbstringを有効にするオプションをつけてrebuildする
2:ソースを使ってmbstring.soモジュールを作成する
ここでは後者について説明します。
動的モジュールを作成するには、以下の環境が必要です。
autoconf-2.13
automake-1.4
libtool-1.3.5
m4-1.4
以下の手順は全てrootで行います。
1)php-develをインストールする
お使いのphp本体のバージョンに合わせたphp-develのrpmパッケージをインストールしてください。
2)php.iniを編集する
extension_dir = "/usr/lib/php/ext"
extension=mbstring.so を追加します。ここでは拡張モジュールを格納するためのディレクトリを新規作成した/usr/lib/php/extとしていますが、指定は自由です。
3)ソースを入手し、展開する
ソースはphp-4.1.1tar.gzを用います。
4)PHP用拡張モジュールの作成
php-4.1.1/ext/mbstring で
# /usr/bin/phpize
# ./configure
# make
# make EXTENSION_DIR=/usr/lib/php/ext install
注)使用したphp-develのrpmパッケージによっては、 phpizeのパスが違うこともあるかもしれません。
5)apacheを再起動する
以上でマルチバイト関数が使用できるようになります。当方の環境では動作確認しておりますが、完全動作を保証するものではございませんので、あらかじめ御了承ください。
1:SRPMパッケージで、mbstringを有効にするオプションをつけてrebuildする
2:ソースを使ってmbstring.soモジュールを作成する
ここでは後者について説明します。
動的モジュールを作成するには、以下の環境が必要です。
autoconf-2.13
automake-1.4
libtool-1.3.5
m4-1.4
以下の手順は全てrootで行います。
1)php-develをインストールする
お使いのphp本体のバージョンに合わせたphp-develのrpmパッケージをインストールしてください。
2)php.iniを編集する
extension_dir = "/usr/lib/php/ext"
extension=mbstring.so を追加します。ここでは拡張モジュールを格納するためのディレクトリを新規作成した/usr/lib/php/extとしていますが、指定は自由です。
3)ソースを入手し、展開する
ソースはphp-4.1.1tar.gzを用います。
4)PHP用拡張モジュールの作成
php-4.1.1/ext/mbstring で
# /usr/bin/phpize
# ./configure
# make
# make EXTENSION_DIR=/usr/lib/php/ext install
注)使用したphp-develのrpmパッケージによっては、 phpizeのパスが違うこともあるかもしれません。
5)apacheを再起動する
以上でマルチバイト関数が使用できるようになります。当方の環境では動作確認しておりますが、完全動作を保証するものではございませんので、あらかじめ御了承ください。
更新日: 2002.02.12
再起動時にMySQLが自動起動されない点に関しましては、
/etc/rc.d/init.d/mysql後半に
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file &
という一文があると思いますが、そこに --user=root オプションを付け加えて
下さい。
/etc/rc.d/init.d/mysql後半に
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file &
という一文があると思いますが、そこに --user=root オプションを付け加えて
下さい。
更新日: 2002.02.12
PHP4.1.x対応のPDFlib/PDIは2002年2月にリリースされました。
そのため、「今日からつかえるPHP4サンプル集」初版では、PHP4.1.x対応PDFLib
のセットアップ方法については割愛されています。
ここでは、PHP4.1.1環境を前提に、PDFLibの設定方法について、補足するものです。
本項で用いているPDF関数は、拡張関数です。サンプル実行に際しては、事前に拡張モジュールPDFlib/PDIをインストールしておく必要があります。
最新ソースコードは以下のURLから入手することができます。拡張モジュールは日々頻繁にバージョンアップが行われていますので、以下サイトで提供されている最新のモジュールをダウンロードのうえ、使用されることをお勧めします。
http://www.pdflib.com/pdflib/download/index.html
【Windowsの場合】
[1]上記のURLよりダウンロードしたモジュールpdflib-4.0.2-Windows.zipを適当なフォルダに格納します。pdflib-4.0.2-Windowsフォルダ配下に各種ファイルが展開されます。その中のbind/php/php4.1.xフォルダ内のphp_pdf.dllを/php/extensions(/phpはPHPを展開したフォルダとします)内にコピーします。
[2]php.iniを編集するphp.ini内に以下の記述を追記し、DLL呼び出しを有効にします。 extension=php_pdf.dll その際、Apacheサーバを再スタートするのを忘れないようにしてください。
【Linuxの場合】
[1]上記のURLよりダウンロードしたモジュールpdflib-4.0.2-Linux.tar.gzを適当なフォルダに格納します。pdflib-4.0.2-Linuxフォルダ配下に各種ファイルが展開されます。その中のbind/php/php-4.1.0ディレクトリ内のlibpdf_php.soを/usr/local/lib/php/extensions/にコピーします。
[2]php.iniを編集するphp.ini内に以下の記述を追記し、拡張モジュール呼び出しを有効にします。 extension=libpdf_php.so その際、Apacheサーバを再スタートするのを忘れないようにしてください。
そのため、「今日からつかえるPHP4サンプル集」初版では、PHP4.1.x対応PDFLib
のセットアップ方法については割愛されています。
ここでは、PHP4.1.1環境を前提に、PDFLibの設定方法について、補足するものです。
本項で用いているPDF関数は、拡張関数です。サンプル実行に際しては、事前に拡張モジュールPDFlib/PDIをインストールしておく必要があります。
最新ソースコードは以下のURLから入手することができます。拡張モジュールは日々頻繁にバージョンアップが行われていますので、以下サイトで提供されている最新のモジュールをダウンロードのうえ、使用されることをお勧めします。
http://www.pdflib.com/pdflib/download/index.html
【Windowsの場合】
[1]上記のURLよりダウンロードしたモジュールpdflib-4.0.2-Windows.zipを適当なフォルダに格納します。pdflib-4.0.2-Windowsフォルダ配下に各種ファイルが展開されます。その中のbind/php/php4.1.xフォルダ内のphp_pdf.dllを/php/extensions(/phpはPHPを展開したフォルダとします)内にコピーします。
[2]php.iniを編集するphp.ini内に以下の記述を追記し、DLL呼び出しを有効にします。 extension=php_pdf.dll その際、Apacheサーバを再スタートするのを忘れないようにしてください。
【Linuxの場合】
[1]上記のURLよりダウンロードしたモジュールpdflib-4.0.2-Linux.tar.gzを適当なフォルダに格納します。pdflib-4.0.2-Linuxフォルダ配下に各種ファイルが展開されます。その中のbind/php/php-4.1.0ディレクトリ内のlibpdf_php.soを/usr/local/lib/php/extensions/にコピーします。
[2]php.iniを編集するphp.ini内に以下の記述を追記し、拡張モジュール呼び出しを有効にします。 extension=libpdf_php.so その際、Apacheサーバを再スタートするのを忘れないようにしてください。
更新日: 2002.02.03
books.cssが存在しないため、NNではエラーが発生するようです。ダミーのbooks.cssを用意いただくか、.xslファイル内の<link>タグ を削除することで正常動作するかと思います。
更新日: 2002.04.01
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。