PHP/FI FAQ(日本語訳)
- 1. なぜ、while ループにおいてパーサのエラーが
発生し続けるのですか?
- パーサは、非 UNIX の改行コードに少々敏感です。
恐らく、あなたは、ファイルを非UNIX環境で作成しファイルを変換せずに
アップロードしたと考えられます。
ほとんどの ftp プログラムは、転送時にASCII ファイルを変換するオプションを
有しています。
もしくは、ほとんどの UNIX システムは、dos2unix コマンドを
持っていると思われますので、これを用いてファイルを変換することが可能です。
もし、どちらも動作しない場合は、UNIX プロンプトで次のように
タイプしてみて下さい。:
tr -d '\r' newfile
- 2. どうやって、CR や LF を reg_replace 関数を用いて
置換するのですか?
- 全ての文字は、その ASCII コードを用いて置換できます。
キャレッジリターン(CR)は、ASCII コード 13 ですから、
次のような技を用います。:
$string = reg_replace(13,"<br>",$string);
これは、全てのキャレッジリターンを HTML の改行タグに変換して返します。
- 3. どのようにして GD 画像ライブラリをインストールプログラムに認識させますか?
- インストールプログラムは、ライブラリやインクルードファイルのある
他のディレクトリを尋ねます。
ライブラリについて質問された時は、libgd.a ファイルをインストールした
ディレクトリを指定し、他のディレクトリについて質問された時は、
gd*.h のあるディレクトリを指定することに注意して下さい。
- 4. mSQL によるログ機能を使用しているが、
私のカウンタは、0 のままです。なぜですか?
- 特定のHTMLファイルを所有するユーザーに関するログを記録するため
のテーブルが作成されていないのです。
PHP/FI 配布ファイル中の scripts ディレクトリにある msqllog スクリプトを
実行して下さい。
msqllog username は、自分(username)用にこれを行います。
- 5. どうやれば、ページ下部のフッタ情報をオフに
できますか?
- 単にあるページについてフッタをオフにしたい場合には、各ページに
次のタグを加えます。: <setshowinfo(0)>
もしくは、?config 画面から "No Info" ルールを作成できます。
Apache モジュール版を使用している場合、次のような行を
srm.conf ファイルまたは直接 .htaccess ファイルに
加えることができます。:
phpShowInfo off
- 6.ログ記録と dbm ファイルに関して
全般的に問題を生じています。
- 正しく dbm ライブラリをコンパイルしたか確認して下さい。
prep.ai.mit.edu にある gdbm を使用することを勧めます。
- 7. なぜ、php.cgi/httpd バイナリは非常に大きいのですか?
- デフォルトでは、デバッグシンボル付きで作成されます。
より管理のしやすい大きさに減らすには、
次のようにタイプして下さい。
strip php.cgi または、strip httpd
- 8. どうやって、SELECT MULTIPLE form フィールドを
処理しますか?
- この問題は、一つのフォーム要素が複数の値を取ることができることです。
これは、配列を使用する必要があることを意味します。
次のようなタグがこの問題の答えです。
<SELECT MULTIPLE name="var[]">
投稿されたフォームを受けた時、$var 配列は、全てのデータを含んでいます。
これを取り出すには、ループを使用して下さい。
- 9. どうやって、スクリプト中で現在の URL を参照しますか?
- $PHP_SELF 変数を使用して下さい。使用可能な変数の完全なリストについては、
?info 画面を参照して下さい。
(1.99n 以降でのみ使用可能です。)