formはこんな感じ。array_search(拡張子のチェックに使います。accept(html5)で拡張子チェック基本formはこんな感じ。参照:http://php.net/manual/ja/features.file-upload.post-method.phpMAX_FILE_SIZEをinputで設定しておくと、PHPのUPLOAD_ERR_FORM_SIZEでチェックできます。type=fileより前に記載してください。inputのfileにあるname「upfile」の名称は、自分の好きな名称にしてください。type="submit">送信</button></form>$_FILESの内容$_FILES$_FILES[‘userfile’][‘name’]クライアントマシンの元のファイル名。ブラウザがこの情報を提供する場合。側ではチェックされません。この値は信用できません。$_FILES[‘userfile’][‘size’]アップロードされたファイルのバイト単位のサイズ。{//例外が発生した場合の処理exit($e->getMessage());}参照:getMessageは例外メッセージを取得します。array_search(拡張子のチェックに使います。)配列の中に、指定した文字列があるか検索します。一致したら配列のキーを返す。(似たような機能を持つものにin_arrayがあります。)array_search(探したい文字列,検索対象の配列,true);1array_search(探したい文字列,検索対象の配列,true);trueなら型もチェック(===)、未指定かfalseなら(==)。迷ったらtrue入れておきましょう。array_search('猫',$animal);//1が返る。'猿');array_search('猫',$animal);//1が返る。array_search('image/png',$imageArray,true);//pngというキーが返る。'image/png',]array_search('image/png',$imageArray,true);//pngというキーが返る。参照:http://php.net/manual/ja/function.glob.phpglob(パス);1glob(パス);返り値1マッチしたパスを配列で返します。2マッチするパスがなければ、「空の配列」を返します。「FALSE」を返します。※複数のパターンを探すときは、GLOB_BRACEフラグを使います。GLOB_BRACE);または拡張子を全てにする場合は、以下のようにします。'.*');以下のような感じで使います。false)のところは、要らないかもしれないですが、なんとなくemptyのほうで処理するのが気持ちが悪くて入れておきました。false){//失敗したときの処理。false){//失敗したときの処理。exit("システムエラー");}if(!empty($file_check)){//配列が空か確認//同一のファイルパスが存在していた場合の処理}全体像まずこちらのページを一読してください。RuntimeException("ファイルのサイズが大きすぎます。//拡張子の種類の配列は、時間がある時に再考が必要。'image/jpeg',//通常はjpgはこれ。RuntimeException("ファイルの形式エラーです。RuntimeException("ファイルのサイズが大きすぎます。");}//拡張子の取得//拡張子の種類の配列は、時間がある時に再考が必要。'image/jpeg',//通常はjpgはこれ。RuntimeException("ファイルの形式エラーです。{//例外が発生した場合の処理exit($e->getMessage());}拡張子の種類?色々と掲載してくれているページはこちらです。https://colo-ri.jp/develop/2011/04/uploader-fileformat-detection.htmlaccept(html5)で拡張子チェック以下のようにすると、imageとpdfのみアップロードできるようになります。2017/12/19時点で、iPhoneのSafariのバグで「application/pdf」にしてもpdfを読み込めないみたいです。(3)プライバシーポリシーページの一番上に戻る。