for ($i=0;$i<count($_FILES['userfile']['name']);$i++)

解决方案 »

  1.   

    你是同时上传多个文件,数据存在一个数组里,改成这样试试(最多打看看你的$_FILES里的数据是存在什么样的,根据实际情况修改):
    <?php
    include  ("upload_class.php");for ($i=0;$i<count($_FILES['userfile']);$i++){
        $filename[$i]=$_FILES['userfile'][$i]['name'];
        $fileerror[$i]=$_FILES['userfile'][[$i]'error'];
        $filesize[$i]=$_FILES['userfile'][$i]['size'];
        $filetmpname[$i]=$_FILES['userfile'][$i]['tmp_name'];
        $filetype[$i]=$_FILES['userfile'][$i]['type'];
        
        $filetemp=new file_upload("$filename[$i]","$fileerror[$i]","$filesize[$i]","$filetmpname[$i]","$filetype[$i]");
    }    
    ?>
      

  2.   

    首先构造函数是__construct双下滑线~
      

  3.   

    [php]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);
                return $result;
            }        
    [/php]
    $mvfilenamearr[0]=$this->rand_string(10)."$mvtime";应该是:$mvfilenamearr[0].=$this->rand_string(10)."$mvtime";吧~根本没连接你有echo过吗~还有$mvfilename=implode('.',$mvfilenamearr);这句你完全没意义因为$mvfilenamearr里已经完全没后缀了。
    $file_name取不到应该是你构造函数写错的关系~