大虾们 帮我帮看看 有什么问题

#1 lijian

class uploadfile{
      private $savepath=null;//文件存储路径如2011/11/12/xxx.xx

  private $filesize=null;//文件上传最大值设置

  private $imgtype="jpg,png,gif,bmp";//上传图片可生成微缩图片类型设置

  private $filetype=null;

  private $fileinput=null;//文件上传域名字设置

  private $filedir=null;//文件路径如2011/11/12/

  private $saveplace=null;//文件存储文件夹

  private $path=null;

public function __construct(){

       $data=spext("fupload");

   $this->savepath=$data["savepath"];

   $this->imgtype=$data["imgtype"];

   $this->filesizes=$data["filesizes"];

   $this->filetype=$data["filetype"];

   $this->fileinput=$data["fileinput"];

   $this->filedir=$data["filedir"];

   }//
    public function set_filesize($size)

       {

   $this->filesizes=$size;

   }//动态设置文件上传最大值

public function set_filetype($type)

      {

  $this->filetype=$type;

  }//动态设置上传文件类型

public function set_fileinput($name)

  {

  $this->fileinput=$name;

  }

  //动态更改文件上传时的文件域名字

public function set_path($path)

     {

$this->saveplace=$pathplace;

}

//存储文件文件夹动态设置

public function fileupload($file_input)

{



$inputname=$this->fileinput;

if(strlen($file_input)){

$inputname=$file_input;

}else

{

$err="无文件上传";

$msg=null;

}

$upfile=$_FILES[$inputname];

$ext =strtolower(substr(strrchr($upfile,'.'),1));



if(!empty($upfile["error"]))

{

switch($upfile["error"])

{

case '1':$err = '文件大小超过了php.ini定义的upload_max_filesize值';break;

case '2':$err = '文件大小超过了HTML定义的MAX_FILE_SIZE值';break;

case '3':$err = '文件上传不完全';break;

case '4':$err = '无文件上传';break;

case '6':$err = '缺少临时文件夹';break;

case '7':$err = '写文件失败';break;

case '8':$err = '上传被其它扩展中断';
break;

case '999':

default:$err = '无有效错误代码';

}
                            }

elseif(empty($upfile["tmp_name"])||$upfile["tmp_name"]=="none")

{

$err='无文件上传'; break;

}

elseif(!in_array($ext,$filetype))

     {

$err="文件类型错误,您只可以上传的类型为".$filetype;break;

}

elseif($upfile["size"]>$filesize)

{

$err="您上传文件超过了网站设置的".$filesize;break;

}

else{

if($saveplace)

{

$path1=date("Y");

$path2=date("Y")."\\".date("m");

$path3=date("Y")."\\".date("m")."\\".date(d);

$path4=date("Y")."\\".date("m")."\\".date(d)."\\".$saveplace;

$path=date("Y")."\\".date("m")."\\".date(d)."\\".$saveplace."\\";

if(is_dir($path."\\".$saveplace){

move_uploaded_file($upfile["tmp_name"],$path);

}

else{

mkdir($path1);

mkdir($path2);

mkdir($path3);

mkdir($path4);

}


}

else{

$path1=date("Y");

$path2=date("Y")."\\".date("m");

$path3=date("Y")."\\".date("m")."\\".date(d);

$path=date("Y")."\\".date("m")."\\".date(d)."\\";

if(is_dir($path."\\".$saveplace)

move_uploaded_file($upfile["tmp_name"],$path);

}else{

mkdir($path1);

mkdir($path2);

mkdir($path3);

}

}

2011-11-21 16:52:44

#2 jake

给个错误提示或者什么吧,这样猜猜不出问题的。

其实PHP上传文件非常简单的 http://cn.php.net/manual/zh/features.file-upload.post-method.php

另外,不要一个帖子发两个地方,否则都删了,而且要注意发的板块,交流版只是交流心得,求助贴发往求助版。

2011-11-21 17:14:02