phpをダウンロードして、C:\直下に置く
環境変数pathにphpフォルダのパスを追加
php.ini-developmentファイルをコピーしphp.iniとして保存
ApacheをダウンロードしてC:\直下に置く
httpd.exe -k install をApache24\binディレクトリで行う
Apacheを起動しhttp://localhostへ接続、ページが表示されたら成功
httpd.confファイルを開き「Dynamic Shared Object (DSO) Support」を検索。
LoadModule一覧の末尾に「LoadModule php_module c:/pg/php/php8apache2_4.dll」を追加
PHPIniDir "c:/php"を末尾に追加
機能として、CGIを呼び出せるようにインストールする
IIS「ハンドラーマッピング」→「モジュールマップの追加」→ダイアログが表示される。
ダイアログ入力「要求パス(*.php)」「モジュール(FastCgiModule)」「実行可能ファイル(php-cgi.exe)」で入力する。
| PHP | 引数など | 戻り値 | 説明 |
|---|---|---|---|
| 定義済み変数 | |||
| $_REQUEST['name'] | HTTPリクエストで送信されたデータを取得する変数 | ||
| $_GET['name'] | |||
| $_POST['name'] | |||
| $_FILES['name'] | |||
| $_SESSION['name'] | |||
| $_COOKIE['name'] | |||
| <?php 記述 ?> | PHP記述の識別子 | ||
| echo 'strings'; | void | 1つ以上(複数)の文字列を出力する | |
| '(シングルクォーテーション) | 文字列リテラルを囲む | ||
| PHP_EOL | 改行文字
| プラットフォームに適応した改行文字 | |
| print 'strings'; | int:1を返す | 文字列を出力する | |
| <?= 'strings' ?> | echoタグ。echoを一つだけ含むタグの記法 | ||
| echo <<<END string1 string2 ... END; | 複数行の文字列リテラルを出力する方法。ヒアドキュメント構文。 | ||
| require 'url'; | PHPファイルの読み込み | ||
| htmlspecialchars(requestvariable); | 定義済み変数 | HTMLタグを無効にする。 | |
| $変数名 = new splFixedArray($length); | int | array | 空の配列を作成する |
| isset($変数) | bool | 変数の中身が存在するかどうかをbool値で返す | |
| $変数名 = ['strings','strings','strings',...]; | 値付きの配列を定義する | ||
| foreach($参照配列変数 as $代替変数){$代替変数による処理} | 繰返し文 | ||
| foreach($参照配列変数 as $key => $value){} | 繰返し文($keyと$valueにはそれぞれキーと値が格納されている) | ||
| date("format",$timestamp) | string:
| タイムスタンプで指定された時刻を取得する。表示形式は指定フォーマットによる。タイムスタンプを省略すると、現在時刻 | |
| date_default_timezone_set(timezone) | タイムゾーンを指定する。 | ||
| getdate($timestamp) | 指定したタイムスタンプの日時情報を配列として格納する。 | ||
| mktime($hour,$minute,$second,$month,$day,$year) | int | int: | タイムスタンプ |
| file_exists($filename) | bool | 指定したファイルが存在するかどうか確認する。 | |
| file_get_contents($filename) | string | 指定したファイルを文字列として返す。 | |
| json_decode(文字列) | JSON形式の文字列をPHPで利用する文字列や配列に変換する。 | ||
| json_encode(文字列) | 文字列をJSON形式に変換する。 | ||
| 時刻表現 | |||
| 乱数 | |||
| rand(最小値,最大値) | 指定値の乱数を生成する | ||
| file_put_contents($filename,$data,$flags) | string,string,[FILE_APPEND:filenameがすでに存在する場合にデータをファイルに上書きするのではなく追記する。|LOCK_EX:書き込み処理中に、ファイルに対する排他ロックを確保する] | データをファイルに書き込む | |
| explode($separate,$targetstr) | 指定した区切り文字で文字列を分割し配列を返す | ||
| file_get_contents($filename) | ファイルの内容をstringとして取得する | ||
| is_uploaded_file() | ファイルがアップロードして | ||
| file_exists($filename) | ファイルが存在するかどうか | ||
| mkdir($foldername) | フォルダーを作成する | ||
| basename($FILE) | ファイルの名前を取得する | ||
| setcookie($name,$value,$timeover,$path,$domain,$ssl,$http) | |||
| 配列 | |||
| 配列[] = 新規要素; | 配列に要素を追加する | ||
| PHP | |||
|---|---|---|---|
| 用途 | 描き方 | ||
| HTTPリクエスト | |||
| $_GET[$key] | form送信(GET)された情報をその名前を指定して取得する | ||
| isset() | 変数に値があるかないかを判定する | ||
| 配列関連 | |||
| 配列定義 | $変数名 = array("key" => "値"); | 変数を利用する場合 | $変数名[key] |
| 多次元配列 | $変数名 = array(array(),array(),array(),..); | 変数を利用する場合 | $変数名[key][key2] |
| 配列要素の削除 | unset($変数名[key]);unset($変数名); | ||
| 配列を昇順ソート | sort($変数名); | ||
| 配列を降順ソート | rsort($変数名); | ||
| 配列をキーの昇順ソート | ksort($変数名); | ||
| 配列をキーの降順ソート | krsort($変数名); | ||
| 関数の定義 | function 関数名(引数1,引数2,引数3,…){文言; return 戻値; } | 関数の呼び出し | 関数名(引数1,引数2…); |
| データベース関連 | |||
| データベース接続 | $関数名 = new PDO("mysql:dbname = データベース名;host = サーバー名;","ユーザ名","パスワード"); | ||
| データベースのSQLクエリ実行 | $関数名 -> exec("SQLクエリ"); | ||
| データベースのSQLクエリ実行2 | $関数名 = $データベース呼出関数 -> query("SQLクエリ"); | ||
| プリペアードステートメント | $名前 = $PDOインスタンス変数 -> prepare("SQLクエリ"); | valuesなど、値を入力したい箇所は[?]を入れ、bindValueで代入する | |
| プリペアードステートメントへ値を代入 | $プリペア格納変数 -> bindValue(番号,値); | 番号は[?]の場所を指す | |
| プリペアードステートメントの実行 | $プリペア格納変数 -> execute(); | ||
| データベース切断 | $プリペア格納変数 -> NULL; | ||
| クエリの実行結果を処理 | while($ローカル変数名 = $クエリ実行結果変数 -> fetch()){処理} | fetchを使って結果を配列化して処理 | |
| セッションとクッキー | |||
| セッション開始 | session_start(); | ||
| セッション変数 | $_SESSION['名前'] | ||
| セッション変数を削除 | unset($_SESSION['名前']); | ||
| セッション変数を全削除 | session_destroy(); | ||
| クッキーをセット | setcookie(名前,値,有効期限(秒)); | ||
| クラス関連 | |||
| クラス定義 | class クラス名{} | ||
| プロパティ定義 | public 変数名; | ||
| コンストラクタ定義 | public function __constract(引数1,引数2,…){} | ||
| メソッド定義 | function 関数名(引数1,引数2,引数3,…){文言; return 戻値; } | ||
| 派生クラス(子クラス) | class クラス名 extends 親クラス{} | ||
| インスタンス作成 | $変数名 = new クラス名(); | ||
| インスタンスメソッドの利用 | $変数名 = $インスタンス変数名 -> メソッド名(); | ||
| リロード等 | |||
| ページへジャンプ | header("location:ページのURL"); | ||
| PHPファイルの読み込み | require "ファイル名"; | 読み込めない場合fatalerror | |
| PHPファイルの読み込み | require_once "ファイル名"; | 読み込めない場合fatalerror、一度読み込んだファイルは読み込めない。 | |
| PHPファイルの読み込み | include "ファイル名"; | 読み込めない場合warning、処理は継続 | |
| PHPファイルの読み込み | include _once "ファイル名"; | 読み込めない場合warning、処理は継続。一度読み込んだファイルは読み込めない。 | |
| その他関数等 | |||
| 正規表現 | preg_match("正規表現文字列",変数); | ||
| 乱数 | rand();rand(最小値,最大値); | ||
| 例外処理 | try{}catch(PDOException $e){die("文言");} | ||
| ファイルの移動 | move_uploaded_file(ファイル格納変数,移動先パス); | ||
| ファイルの削除 | unlink(ファイル名); | ||
| ファイル内容を変数に格納 | file_get_contents(ファイル名); | ||
| 区切り文字で配列化 | explode(区切り文字,文字列); | ||
| ファイルが存在するか | file_exists(ファイル名); | ||
| ファイル自体 | $_FILES['名前']['tmp_name'] | ||
| アップロード時の名前 | $_FILES['名前']['name'] | ||