質問: filesize($_FILES[$filename]['tmp_name']); if($filesize <= 2097152){ //ファイルをfilesフォルダに保存move_uploaded_file($filename,$updir); echo $this->err_message[3]; } else { echo $this->err_message[2]; return false; } } else { echo $this->err_message[1]; return false; } } else { echo $this->err_message[0]; return false; } } } ?> ``` ``` コード checkというfunctionを実行します 引数にを指定した場合の処理結果は 引数にを指定した場合の処理結果は 引数にを指定した場合の処理結果は ```
回答: > > アップロード成功!jpg,pdf,png の形式ではありません。jpg,pdf,png形式のファイルのみアップロードできます。ファイルが参照されていません。 > > > ↑これが先頭に出力されてるのは期待通りの動きなんですかね? そもそもfunction checkの中でechoしちゃってる関係上、処理順序的にここで出るのは当たり前なんだけど。 > > echo $ret1としたときに、文字を前の文字の続きに出力させたい > > > $ret1のときは「引数にcertificationを指定した場合の処理結果はアップロード成功!」と出力させたいってこと? だったら$ret1、$ret2、$ret3と同様に$message1、$message2、$message3とかを準備しときゃいいんじゃないかなぁ。 ``` class upload{ //check結果のメッセージ public $message; //エラーメッセージの箱 public $err_message = array( ``` こんな風にインスタンス変数を追加、checkでechoしてるとこは ``` if($filesize <= 2097152){ //ファイルをfilesフォルダに保存move_uploaded_file($filename,$updir); $this->message = $this->err_message[3]; ``` みたいにして。んで、1回checkを呼び出すたびに ``` $ret1 = $upload->check($filename[0]); $message1 = $upload->message; ``` こんな風にしとけばhtml部の記述は ``` 引数にを指定した場合の処理結果は ``` 。。。となるんじゃ?