ホームページ >バックエンド開発 >PHPチュートリアル >ファイルダウンロードクラスを書きました。コメント歓迎
先ほど書いたファイルアップロードクラス。コメントは大歓迎です
<br> <html><br> <頭><br> <title>ファイルアップロードフォーム</title></head><br> <br> <form enctype="multipart/form-data" action="index.php" method="post"><br> ファイルを選択してください:<br><br> <input name="upload_file" type="file"><br><br> <input type="hidden" name="MAX_FILE_SIZE" value="30000"><br> <input type="submit" value="ファイルをアップロード"><br /> </form><br> </body><br> </html><br> <?php<br /> <br /> 定義(UPLOAD_DIR,'D:\AppServ\www\test\upload\');<br /> 定義(UPLOAD_WEB_DIR,'\test\upload\');<br /> <br /> クラスアップロード_ファイル_クラス{<br /> <br /> var $input_name; //アップロードされたファイルの名前<br /> var $max_size; //最大アップロード サイズ単位 kb<br /> var $allow_ext; //許可される拡張子<br /> var $err_info; //エラーメッセージ<br /> <br /> /**<br /> * コンストラクター<br /> *<br /> * @param $input_name<br /> * @param $max_size<br /> * @param $allow_ext <br /> * * @return <br /> */<br /> function __construct($input_name,$max_size=1024,$allow_ext=array('jpg','png','gif')){<br /> <br /> $this->input_name = $input_name;<br /> $this->max_size = $max_size;<br /> $this->allow_ext = $allow_ext;<br /> $this->err_info_arr = array(<br /> <br /> 1=>'アップロードされたファイルのサイズがiniの設定値を超えています',<br> 2=>'アップロードされたファイルのサイズがフォームに設定された最大値を超えています',<br> 3=>'ファイルの一部のみがアップロードされました',<br> 4=>'ファイルはアップロードされていません',<br> 5=>'アップロードされたファイルのサイズが許可された設定値を超えています',<br> 6=>'アップロードが許可されているファイルの種類ではありません',<br> 7=>'ディレクトリの作成に失敗しました。ディレクトリを作成する権限があるか確認してください',<br> 8=>'ファイルの作成に失敗しました。もう一度お試しください。 '、<br> 9=>'ファイルのアップロード中にエラーが発生しました。もう一度お試しください。 '<br> <br> );<br> <br> }<br> <br> /**<br> *ファイルアップロード <br> * * <br> * @return $file_path_arr 正常にアップロードされたファイルのファイル パス配列<br> */<br> パブリック関数アップロード(){<br> <br> グローバル $_FILES;<br> if( !is_array($this->input_name) )$this->input_name = array($this->input_name);<br> $file_path_arr = array();<br> foreach ($this->input_name as $k =>$input_name ) {<br> <br> $__F = $_FILES[$input_name];<br> if( !empty($__F) ){<br> <br> if( $__F['error'] > 0 ){<br> <br> //クライアントのアップロードでエラーが発生します<br> $this->set_err($__F['error']);<br> <br> }<br> それ以外{<br> <br> $__F['サイズ'] = $__F['サイズ']/1024;<br> if( $this->max_size >= $__F['size'] ){<br> <br> if( $this->check_ext($__F['name']) ){<br> <br> $save_dir_info = $this->check_dir(); <br> if( $save_dir_info ){<br> <br> $rand_num = date('Ymdhis').rand(0,10000000);<br> $ext = $this->get_img_ext($__F['name']);<br> $new_file_name = $rand_num.".{$ext}";<br> $full_path = $save_dir_info['full_dir'].$new_file_name;<br> $full_web_path = $save_dir_info['full_web_dir'].$new_file_name;<br> if( !file_exists($full_path) ){<br> <br> if( move_uploaded_file($__F['tmp_name'],$full_path) ){ <div class="clear"></div>