ファイルを3つアップロードさせ、3つのファイルアップロードすべてが設定したバリデーションを通過すれば違う画面に遷移、バリデーションを通過しなければ次画面でエラーメッセージを出力させるというのを実装しています。
PHP
1コード 2 3//登録ボタンクリック後の処理 4 if (!empty($_POST)) { 5 $this->chkUpfiles(); 6 } 7 8 9 /** 10 * ファイルが正しくアップロードされているか確認 11 * 12 * @access private 13 * @return string 14 */ 15 private function check($_filename) { 16 $ret = false; 17 if (is_uploaded_file($_FILES[$_filename]["tmp_name"])) { 18 if (preg_match("(.+\.(jpg|pdf|png))", $_FILES[$_filename]["name"])) { 19 $filesize = filesize($_FILES[$_filename]['tmp_name']); 20 if ($filesize <= 2097152) { 21 $this->getUploadMsg[$_filename] = self::_SUCCESS; 22 $ret = true; 23 } else { 24 $this->getUploadMsg[$_filename] = self::_ERR_MSG_FILE_SIZE; 25 } 26 } else { 27 $this->getUploadMsg[$_filename] = self::_NOT_SUITABLE; 28 } 29 } else { 30 $this->getUploadMsg[$_filename] = self::_NOT_EXIST; 31 } 32 return $ret; 33 } 34 35 36 /** 37 * 全部のファイルが正しくアップロードされているか確認 38 * 39 * @access private 40 * @return string 41 */ 42 private function chkUpfiles() { 43 $filename = array('certification', 'cert_seal', 'citizen'); 44 $this->check($filename[0]); 45 $this->check($filename[1]); 46 $this->check($filename[2]); 47 48 // ↓check($hoge)の形式で書いていないので、functionが呼ばれていない。→OK 49 // check変数が存在するかという判定になっている 50//1回呼べばいいようにする 51 52 if($this->check($filename[0])==TRUE and $this->check($filename[1])==TRUE and $this->check($filename[2])==TRUE){ 53 $url = 'https://' . $_SERVER['SERVER_NAME'] . '/mg/settle_selectable_result'; 54 Utils::redirect($url); 55 } 56 } 57
functionを一回呼び出して実装させるにはどうしたらいいでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/11 00:56