PHPでzipファイルをアップロード後、サーバー内に解凍(展開)
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリデーション(入力値のチェック)を行うが、簡易的なものは「filter_input」で行えるので実装方法をメモ。
filter_input (型 , 変数名, フィルタ, オプション);
//例)
$name= filter_input(INPUT_POST, 'title');
$email= filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$id= filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
「型」の部分で、フィルタリングする対象の型を記載。
型には、INPUT_GET、INPUT_POST、 INPUT_COOKIE、INPUT_SERVER、INPUT_ENV があり、それぞれスーパーグローバル変数に対応。
フィルタの部分は下記を参照。
フィルタが未設定の場合には特にバリデートしない。
種類 | 説明 |
FILTER_VALIDATE_BOOLEAN | 1、true、on および yes の場合にTRUE、それ以外の場合にFALSEを返します。 |
FILTER_VALIDATE_EMAIL | 値が妥当な e-mail アドレスであるかどうかを検証します。 |
FILTER_VALIDATE_FLOAT | 値が float であるかどうかを検証し、オプションで指定された範囲にあるかを調べます。成功した場合は値を float に変換します。 |
FILTER_VALIDATE_INT | 値が整数であるかどうか、オプションで指定した範囲内にあるかどうかを検証し、成功した場合は整数に変換します。 |
FILTER_VALIDATE_IP | 値が IP アドレスであるかどうかを検証します。 |
FILTER_VALIDATE_REGEXP | 値が、Perl 互換の正規表現regexpに一致するかどうかを検証します。 |
FILTER_VALIDATE_MAC | 値が MAC アドレスであるかどうかを検証します。 |
FILTER_VALIDATE_URL | 値が URL 形式であるかどうか、 オプションで、必須コンポーネントが含まれているかどうかを検証します。 |
上記のバリデーションの他、サニタイズ(特定の文字列の除去)も可能。
詳細は下記のサイトで確認できます。