ホームページ >バックエンド開発 >PHPチュートリアル >PHP 複数ファイルアップロードコード 2_PHP チュートリアル

PHP 複数ファイルアップロードコード 2_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:58:28871ブラウズ

fileclass.php文件代码如下:

クラスmore_file_upload{
 const FILE_PATH='../ファイルハンドル/アップロードファイル/';
 var $file_type;
 var $file_type_array;
 var $file_type_string;
 var $file_name;
 var $file_size;
 var $file_tmp_name;
 var $file_error;
 var $handledate;
 静的 $totalsize=0;

関数 __construct($file_name,$file_error,$file_size,$file_tmp_name,$file_type){
  $this->handledate=date('m-d-Y');
  if (!empty($file_name)){
   $this->file_name=$file_name;
   $this->file_error=$file_error;
   $this->file_size=$file_size;
   $this->file_tmp_name=$file_tmp_name;
   $this->file_type=$file_type;
   $this->file_type_array=array('text/plain','image/gif','image/jpg','text/html','image/pjpeg','image/png','application/msword' ,'アプリケーション/pdf');
   
   $this->show_execute_message($this->show_execute_message($this->file_error,$this->file_name,$this->file_type,$this->file_size);
  }
 }
 
 関数 __destruct(){
  $this->file_name = NULL;
  $this->file_error = NULL;
  $this->file_size = NULL;
  $this->file_tmp_name = NULL;
  $this->file_type = NULL;
  self::$totalsize = 0;
 }
 
 function show_execute_message($smfileerror,$smfilename,$smfiletype,$smfilesize){
  if($smfileerror>0){
   スイッチ ($smfileerror){
    ケース 1: $smfilemessage='文件超过服务器の约定大小!';break;
    ケース 2: $smfilemessage='文件超过指定の文件大小!';break;
    ケース 3: $smfilemessage='文件只上传了部分!';break;
    ケース 4: echo "$this->file_name ".'文件上传失败!
';break;
   }
   自己破壊();       
  }その他{
   $smfiletypeflag=array_search($smfiletype,$this->file_type_array);
   if($smfiletypeflag == false){
    $smfilemessage='文件类型不对,请核实!';
   自己破壊();  
   }その他{
    $resflag=$this->move_file($this->file_tmp_name,$this->file_name);
    if ($resflag == 1){
     $smfilemessage='文件上传成功!';
     self::$totalsize+=intval($smfilesize);
     self::__destruct();
    }その他{
     $smfilemessage='文件上传失败!';
     self::__destruct();
    }
   }
  }
   $smfilesize=$smfilesize/1024;
   $smfilesizeformat=sprintf('%01d',$smfilesize);
   echo '
    '.$smfilename.'
               '.$smfiletype.'
               '.$smfilesizeformat.'
               '.$smfilemessage.' 
    ';    
 }
 
 function move_file($mvfiletmp,$mvfilename){ //移動文件
  $mvfilenamearr=explode('.',basename($mvfilename));
  $mvtime=mktime();
  $mvfilenamearr[0]=$this->rand_string(10)."$mvtime";
  $mvfilename=implode('.',$mvfilenamearr);

if (is_uploaded_file($mvfiletmp)){
$uploadfile=self::FILE_PATH."$mvfilename";
$result=move_uploaded_file($mvfiletmp,$uploadfile);
$result を返します;
}
}

function rand_string($len, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'){ //指定された範囲内の文字をランダムに抽出します
$string = '';
for ($i = 0; $i < $len; $i++){
$pos = rand(0, strlen($chars)-1);
$string .= $chars{$pos};
}
$string を返します;
}
}
echo '

';
echo '
& Lt; 整列 = "中央" & gt;/td & gt; &lt; td align = "center"&gt;ファイルタイプ&lt;/td&gt;
&lt; td align = "center"&gt; file size(kb)&lt;/td&gt;
到達されたことがありました。                                                                                     for ($i=0;$i $filename[$i]=$_FILES['userfile']['name'][$i];
$fileerror[$i]=$_FILES['userfile']['error'][$i];
$filesize[$i]=$_FILES['ユーザーファイル']['サイズ'][$i];
$filetmpname[$i]=$_FILES['userfile']['tmp_name'][$i];
$filetype[$i]=$_FILES['userfile']['type'][$i];

$filetemp=new more_file_upload("$filename[$i]","$fileerror[$i]","$filesize[$i]","$filetmpname[$i]","$filetype[$i]" );
}
echo '
';
echo 'アップロードを続行 ホームページに戻る';
?>

以下に 3 番目のファイルがあります。これは、index.php 表示ファイルです。

http://www.bkjia.com/PHPjc/632024.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632024.html技術記事 fileclass.php ファイルのコードは次のとおりです: ?php class more_file_upload{ const FILE_PATH='../filehandle/uploadfile/'; var $file_type_string;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。