ホームページ > バックエンド開発 > PHPチュートリアル > ファイルダウンロードクラスを書きました。コメント歓迎

ファイルダウンロードクラスを書きました。コメント歓迎

WBOY
リリース: 2016-06-13 12:56:15
オリジナル
831 人が閲覧しました

先ほど書いたファイルアップロードクラス。コメントは大歓迎です

<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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート