PHPマルチファイルアップロードの例

2351 ワード

この例では、PHPマルチファイルのアップロード方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.

'      ,      ,      ',
   1=>'      ,         php.ini upload_max_filesize       ',
   2=>'      ,           HTML     MAX_FILE_SIZE       ',
   3=>'      ,         ',
   4=>'      ,       ',
   5=>'      ,      ',
   6=>'      ,        .PHP 4.3.10   PHP 5.0.3   ',
   7=>'      ,      .PHP 5.1.0   ',
   8=>'      ,        NAME',
   9=>'      ,,    '
   );
  public static function upload($name){
   //           NAME
   if(!isset($_FILES[$name])){
    self::$wrong[]=8;
    return false;
   }
   //3      2   
   $files=array_shift($_FILES);
   //    
   $files=self::get_Ext($files);
   //      
   $n=count($files['name']);
   for($i=0;$i''));
   }
   return self::$path;
  }
  //       
  protected static function get_Ext($arr){
    if(!is_array($arr) || !isset($arr['name'])){return false;}
    foreach($arr['name'] as $k=>$v){
    $arr['name'][$k]=strtolower(strrchr($v,'.'));
    }
    return $arr;
  }
  //       
  protected static function time_Dir(){
   $dir=ROOT.'Data/images/'.date('Y/m/d/',time());
   if(!is_dir($dir)){
    mkdir($dir,0777,true);
   }
   return $dir;
  }
  //       
  protected static function rand_Name(){
   $str=str_shuffle('1234567890qwertyuiopasdfghjklzxcvbnm');
   $str=substr($str,0,6);
   return $str;
  }
  //    
  public static function errors(){
   foreach(self::$wrong as $k=>$v){
    self::$wrong[$k]=' '.$k.' '.self::$error[$k];
  }
  return self::$wrong;
  }
}


本稿で述べたphpプログラム設計に役立つことを願っています.