Heim > Backend-Entwicklung > PHP-Tutorial > php 文件图片上传类程序_PHP教程

php 文件图片上传类程序_PHP教程

WBOY
Freigeben: 2016-07-20 11:09:46
Original
813 Leute haben es durchsucht




php教程 文件图片上传类程序


 
 



upx.php文件
//上传操作
require_once './libs/uploadx.php';
$upx = new uploadx();
$upx->uploadx_form = 'swfile';
$upx->uploadx_save = "upload";
$upx->uploadx_size = "1024";
$upx->uploadx_name = time();
$upx->file();
print_r($upx->file);

?>
uploadx.php类文件
/*

使用方法:

html表单页
-------------------------------------------------------------------------


 
 

-------------------------------------------------------------------------


upload.php处理页
-------------------------------------------------------------------------
require_once './uploadx.php';
$upx = new uploadx();
$upx->uploadx_form = 'swfile';              //表单控件名称(表单上传控件的名称)
$upx->uploadx_save = "temp";                //保存文件目录(上传文件保存目录可以是相对路径也可以是绝对路径)
$upx->uploadx_type = 'jpg|gif|png|swf';    //允许上传类型(根据后缀限制上传类型,每个后缀用"|"隔开) 
$upx->uploadx_size = "1024";                //允许上传大小(单位是kb。例:1024=1024kb)
$upx->uploadx_name = time();                //上传后文件名(可自定义。例:date("y-m-d",time()))

if($upx->file()){
  echo "上传成功
";
  echo "名称->".$upx->file['name']."
";
  echo "路径->".$upx->file['path']."
";
  echo "大小->".$upx->file['size']."
";
  echo "类型->".$upx->file['type']."
";
  echo "时间->".$upx->file['time']."
";
  echo "结果->".$upx->file['info']."
";
 
}else{
  echo $upx->file['info'];
}

 

-------------------------------------------------------------------------
*/
class uploadx {

       
       public $uploadx_form; //表单控件名称
       public $uploadx_save; //保存文件目录
       public $uploadx_type; //允许上传类型
       public $uploadx_size; //允许上传大小
       public $uploadx_name; //上传后文件名
      
       function __construct(){//初始化函数
          $this->uploadx_form = 'attach';
          $this->uploadx_save = 'temp';
          $this->uploadx_type = 'jpg|gif|png|swf|flv|rar|7z|zip|doc|docx|ppt|pptx|xls|xlsx|txt|pdf|wav|mp3|wma|rm|rmvb|wmv';        
          $this->uploadx_size = '1024';
          $this->uploadx_info = false;
       }
      
      function mkdirs($path , $mode = 0777){
          $rootdir = '';
          if(substr($path,0,1)=='/') $rootdir = $_server['document_root'];         
          $path = $rootdir . $path;
          if(!is_dir($path)){
              $this->mkdirs(dirname($path),$mode);
              mkdir($path,$mode);
          }
          return true;
      }

 

     function file(){
              if(!isset($_files[$this->uploadx_form])){
                  $this->file = array('file'=>false,'info' => '上传错误!请检查表单上传控件名称['.$this->uploadx_form.']是否正确!');
                  return false;
              }
             
              switch($_files[$this->uploadx_form]['error']){
                
                 case 1:
                  $this->file = array('file'=>false,'info' => '指定上传的文件大小超出服务器限制!');
                  return false;
                 break; 
                
                 case 2:
                  $this->file = array('file'=>false,'info' => '指定上传的文件大小超出表单限制!');
                  return false;
                 break; 
                                            
                 case 3:
                  $this->file = array('file'=>false,'info' => '只有部份文件被上传,文件不完整!');
                  return false;
                 break; 
                                                     
                 case 4:
                  $this->file = array('file'=>false,'info' => '您没有选择上传任何文件!');
                  return false;
              }
             
              $postfix = pathinfo($_files[$this->uploadx_form]['name'], pathinfo_extension); 
              if(stripos($this->uploadx_type,$postfix)===false){
                $this->file = array('file'=>false,'info' => '指定上传的文件类型超出限制,允许上传文件类型:'.$this->uploadx_type);
                return false;
               
              }
         
              if(round($_files[$this->uploadx_form]['size']/1024)>$this->uploadx_size){
                $this->file = array('file'=>false,'info' => '指定上传的文件超出大小限制,文件上传限制范围:'.$this->uploadx_size.'kb');
                return false; 
              }               
           
              if($this->mkdirs($this->uploadx_save)){             
                $this->uploadx_name = isset($this->uploadx_name) ? $this->uploadx_name.'.'.$postfix : $_files[$this->uploadx_form]['name'];
                if(!@move_uploaded_file($_files[$this->uploadx_form]['tmp_name'],$this->uploadx_save.'/'.$this->uploadx_name)){
                  $this->file = array('file'=>false,'info' => '上传文件保存过程中出现错误,请检查路径或目录权限.');
                  return false;
                }
              }else{
                 $this->file = array('file'=>false,'info' => '服务器目录不存在,自动创建目录失败,请检查是否有权限!');
                  return false;
              }                
             
              @chmod($this->uploadx_save.'/'.$this->uploadx_name,0777);    
              $this->file = array(
                    'file' => true,
                    'name' => $this->uploadx_name,
                    'path' => $this->uploadx_save.'/'.$this->uploadx_name,
                    'size' => $_files[$this->uploadx_form]['size'],
                    'type' => $postfix,
                    'time' => time(),
                    'info' => '上传成功!'
              );               
              return true;
                        
     }


}


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444792.htmlTechArticlehtml head meta http-equiv=content-type content=text/html; charset=utf-8 / titlephp教程 文件图片上传类程序/title /head body form enctype=multipart/form-data action=upx.ph...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage