• 32760阅读
  • 106回复

《细说PHP》QQ讨论群开通[103344754] [复制链接]

上一主题 下一主题
离线神的世界
只看该作者 100楼  发表于: 2014-03-27
纳尼!! 那里可以找到课件?
兄弟连招贤令
 
离线苦色篱笆
只看该作者 101楼  发表于: 2014-05-25
向高老师致敬!
兄弟连招贤令
 
离线笔底烟花
只看该作者 102楼  发表于: 2014-05-26
老师辛苦了,
兄弟连招贤令
 
离线细说php
只看该作者 103楼  发表于: 2014-09-17
我哪里不对
<?php
  class FileUpload {
      private $filepath;  //指定上传文件保存的路径
      private $allowtype=array("GIF",'JPG','PONG','jpeg'); //容许的类型
      private $maxsize=1000000;//限制大小
      private $israndname=TRUE;//使用随机文件名称
      private $originName;     //源文件名称
      private $tmpFileName;    //临时文件名
      private $fileType;       //文件类型
      private $fileSize;       //文件大小
      private $newFileName;    //新文件名
      private $errorNum=0;       //错误号
      private $errorMess;       //提供错误报告
      //用于对上传文件初始化
      //1.指定上传的路径,2,容许的类型,3,限制大小,4,使用随机文件名称
      //让用户可以不要按位置传参数,后满参数给值不用将前个几个参数也提供值
      
      //构造方法编写
      function __construct($options=array()){
          foreach ($options as $key=>$val){
              $key=strtolower($key);
                   //查看用户参数中数组下标和成员属性名相同
              if (!in_array($key, get_class_vars(get_class($this)))){
                  continue;
              }
              echo "<pre>";
              $this->setoption($key, $val);
              echo "</pre>";
              //echo $key.'----'.$val."<hr>";
          }
//            echo "<pre>";
//          print_r(get_class_vars(get_class($this)));
//            echo "</pre>";
          /* $this->filepath=$filepath;
          $this->allowtype=$allowtype;
           $this->maxsize=$maxsize;
          $this->israndname=$israndname;
            var_dump($this); */
          
      }
      
    private function getError(){
        $str="上传文件<font color='yellow'>{$this->originName}</font>时出错";
        switch ($this->errorNum){
            case 4: $str.="没有文件被上传";
            break;
            case 3: $str.="文件只被部分上传";
            break;
            case 2: $str.="上传文件超过了HTMLE中MAX_FILE_SIZE选项指定的值";
            break;
            case 1: $str.="上传文件超过了php配置文件";
            break;
            case -1: $str.="未容许的类型";
            break;
            case -2: $str.="文件过大,上传文件不能超过{$this->maxsize}个字节";
            break;
            case -3: $str.="上传失败";
            break;
            case -4: $str.="建立存放上传文件目录失败,请重新指定上传目录";
            break;
            case -5: $str.="必须指定上传文件的路径";
            break;
            
            default:$str.="未知错误";
            
            
        }
    }
    

      
          //用来检查文件上传路径
      private function checkFilePath(){
          if (empty($this->filepath)){
              $this->setoption('errorNum', -5);
              return false;
          }
          if (!file_exists($this->filepath) || is_writable($this->filepath)){
              if (!@mkdir($this->filepath,0755)){
                  $this->setoption('errorNum'-4);
                  return false;
              }
              
          }
          return true;
              
          }
          

    
      //用来检查文件上传大小
      private function checkFileSise(){
      
      }
      //用来检查文件上传类型
      private function checkFileType(){
          
      }
      //设置随机文件名称
      private function proRandName(){
      
      }
      
      private function setoption($key,$val){
          $this->$key=$val;
          
      }
      //用来上传一个文件
function uploadFile($fileField){
           //检查文件上传路径正确
           if (!$this->checkFilePath()){
               $this->errorMess=$this->getError();
               return false;
           }
          
    
             $name=$_FILES[$fileField]['name'];
             $tmp_name=$_FILES[$fileField]['tmp_name'];
             $size=$_FILES[$fileField]['size'];
             $error=$_FILESield[$fileField]['error'];
            
             $this->setFiles($name,$tmp_name,$size,$error);
            
          }
          
        //设置$_files有关的内容
        private function setFiles($name="",$tmp_name="",$size=0,$error=0){
            $this->setoption('errorNum', $error);
              if ($error){
                  return false;
              }
            $this->setoption('originName', $name);
          $this->setoption('tmpFileName', $tmp_name);
           //按点分割
          $arrStr=explode('.',$name);  
          $this->setoption('fileType',strtolower($arrStr[count($arrStr)-1]));
          $this->setoption('fileSize', $size);
          
          return true;
          
        }
  
     //用于获取上传后的文件名
      function getNewFileName(){
          
      }
      //上传如果失败,则调用这个方法,就可以查看错误报告
    function getErrormsg(){
        
    }  

}
兄弟连招贤令
 
离线童忆
只看该作者 104楼  发表于: 2014-11-23
顶起来
兄弟连招贤令
 
离线xinhua0319
只看该作者 105楼  发表于: 2015-01-20
刚刚加入了这个群
兄弟连招贤令
 
离线237552032
只看该作者 106楼  发表于: 2015-07-01
asdasdasdsadadsdadasdadasdad
兄弟连招贤令
 
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个