PHP活用術
phpで機動的なサイト作り
ローカルマシンにインストール
自分のパソコンでphpを走らせよう。全て無料ソフトで実現出来ます。
- まずApacheをインストール。
- それからphpをインストール。
- 各種設定のヒント
- テキストエディタは必需品。
phpヒントその他
getとpost
- GETメソッドはURLの末尾に「?」をつけ、「パラメーター名="値"」という形式でデータを送ります。そのせいで、誰からでも見ることができます。
- 上記の理由により、GETメソッドを使ったCGIは予期せぬ使い方をされる場合がありますので、イタズラ(悪用)されない様な対策が必要な場合も有ります。
- GETの際のURL
http://XXXXXXXXXX/form.php?text=123456&btn=GET%E9%80%81%E4%BF%A1 - POSTメソッドで送るデータはWebブラウザ上には現れません。
- GETよりは悪用されにくい特徴が有りますが、暗号化されていない場合、サーバーにアクセスする際の通信をどこかの過程で傍受されて解析される可能性はあります。
引用符に注意
- 引用符はダブルクオート「"」、シングルクオート「'」どちらも使える。
- シングルクオート「'」では変数やエスケープ文字は展開されない。
- JISコード(ISO-2022-JP)の2バイト文字列は必ずシングルクオート「'」で括る。
フルパスについて
- ドキュメントルート(「href="/"」で表されるディレクトリ)のフルパスを取得する。→$_SERVER["DOCUMENT_ROOT"]
- バーチャルホストを使用している場合、ドキュメントルート内のファイルで__FILE__によって取得した物と異なる場合があるので注意。
- インクルード文などは後者のパスで動作する。
ヒアドキュメント活用
- 終端識別子の後には文末を示す「;」以外は書けない。
- ヒアドキュメントの中でも変数は展開されるので注意。
- 識別子に使えるのは英数字だけ。
日時関数の活用
- 現在日時の取得:time()
- ファイル(自分自身)の更新日時取得:getlastmod()、特定ファイルの更新日時取得:filemtime("filename")
- 日付の整形はdate()で。
例 echo date("Y-m-d H:i:s",getlastmod());
式の前に@(アットマーク)
- エラー制御演算子
- http://php.net/manual/ja/language.operators.errorcontrol.php
- エラーメッセージを表示させないようにする。
XREA 2017年のサーバー移行に関して
- phpのデフォルトはphp 7.0 になった。そのため文字化けが生じる場合がある。次の対応策1~3のいずれかで解決する。
- https://www.xrea.com/info/brandnew2017.php
- default_charset が「空」からUTF-8に変更になった。
- 対応策1 /public_html/.fast-cgi-bin/php70.ini に、下記一行を追記する。
default_charset = ""
(※ディレクトリごとに制御する場合は、PHPスクリプトと同階層に、上記一行を記載した「.user.ini」ファイルを設置。) - 対応策2 PHPスクリプト内で、下記一行を追記。
ini_set('default_charset', ''); - 対応策3 PHPスクリプトをUTF-8で記述する。
- 対応策1 は反映まで2~3分かかる。(特に反映させる為の操作は必要ない。)
URL取得・表示
- 現在のページ自体 $_SERVER["REQUEST_URI"];
- ホスト名も取得する場合 $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
- プロトコルも取得する場合 (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
参考: https://qiita.com/tsujimomo/items/c293d15e34646a826266
文字列の分割
- split関数は廃止
- explode関数で代替
画像表示
U/H5
Webmasters' Tips 
Update :2019-02-15 10:59

Update :2019-02-15 10:59