PHPでzipファイルをアップロード後、サーバー内に解凍(展開)
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…
メールフォーム等での入力値チェック(バリデーション)。
PHPの「preg_match」(正規表現)を使用した代表的なものをメモ。
//空入力チェック
if(empty($val)){
//エラー処理
}
//平仮名入力チェック
if(!preg_match('/^[ぁ-ん]+$/u', $val)){
//エラー処理
}
//片仮名入力チェック
if(!preg_match('/^[[ァ-ン]|ー]+$/u', $val)){
//エラー処理
}
//メールチェック
if(!preg_match('/^[a-zA-Z0-9_\.\-]+@(([a-zA-Z0-9_\.\-]+\.)+[a-zA-Z0-9]+$)/', $val)){
//エラー処理
}
//郵便番号チェック
if(!preg_match('/^\d{3}[-]\d{4}$|^\d{7}$/', $val)){
//エラー処理
}
//電話番号チェック
if(!preg_match('/^\d{10}$|^\d{11}$/', $val)){
//エラー処理
}
//URLチェック
if(!preg_match('/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/', $val)){
//エラー処理
}
//スパムチェック(日本語で書かれていないもの)
if(!preg_match('/[ぁ-ん]/', $val)){
//エラー処理
}
「$val」の部分にポストデータ($_POST)を入力して、該当する処理へ。
その他の内容は下記を参照。
状況に合わせてエスケープ処理は必要。
全て数値(半角)
/^[0-9]+$/
半角アルファベット(大文字・小文字)
/^[a-zA-Z]+$/
半角アルファベット(大文字・小文字・数値)
/^[a-zA-Z0-9]+$/
全角ひらがな
/^[ぁ-ん]+$/
全角カタカナ
/^([ァ-ン]|ー)+$/
全角ひらがな、カタカナ
/^[ぁ-んァ-ン]+$/
半角カナ
/^[ァ-ン゙゚]+$/
漢字
/^[一-龥]+$/
全角ひらがな、漢字
/^[一-龥ぁ-ん]/
全角ひらがな、全角カタカナ、漢字
/^[ぁ-んァ-ン一-龥]/
e-mail
/^[a-zA-Z0-9_\.\-]+@(([a-zA-Z0-9_\.\-]+\.)+[a-zA-Z0-9]+$)/
URL
/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/
電話番号(ハイフンなし10桁)
/^\d{10}$/
携帯番号(ハイフンなし11桁)
/^\d{11}$/
携帯番号(ハイフンなし10桁or11桁)
/^\d{10}$|^\d{11}$/
郵便番号(ハイフンあり7桁)
/^\d{3}[-]\d{4}$/
郵便番号(ハイフンなし7桁)
/^\d{7}$/
郵便番号(ハイフンあり・なし両方)
/^\d{3}[-]\d{4}$|^\d{7}$/
値 | if($var) | isset | empty | is_null |
$val=””; | false | true | true | false |
$val=”0″; | false | true | true | false |
$val=0; | false | true | true | false |
$val=NULL; | false | false | true | true |
$val | false | false | true | true |
$val=array() | false | true | true | false |
$val=array(1) | true | true | false | false |