用法如下:///引用并创建对象<?phpinclude("../../class/const.php");
include("../../class/upload_other.php");
$f_upload = new upload_other;?>////调用
<?php$f_upload->set_file_type($_FILES['src']['type']);
$f_upload->set_file_name($_FILES['src']['name']);
$f_upload->set_file_size($_FILES['src']['size']);
$f_upload->set_upfile($_FILES['src']['tmp_name']);
$f_upload->set_d_alt($f_upload->post_data("d_alt"));
$f_upload->set_size(100);
$f_upload->save(); ?>表单如下:
<script language="javascript">
function check()
{
  if (myform.src.value == '')
  {
    window.alert("文件不能为空!");
    document.myform.src.focus();
    return false;
  }  if (myform.d_alt.value == '')
  {
    window.alert("说明文字不能为空!");
    document.myform.d_alt.focus();
    return false;
  }
  return true;
}
</SCRIPT>
<form action="" method="post" enctype="multipart/form-data" name="myform" onSubmit="return check()">
<TABLE border=0 cellPadding=3 cellSpacing=4 width=100%>
  <TBODY>
  <TR>
    <TD width=70 nowrap>附件来源:</TD>
    <TD><input name="src" type="file" id="src"><font color="#FF0000">注:上传的文件名称最好不要包含中文字,即为英文或数字,以免发生不能正常下载情况。</font></TD>
  </TR>
  <TR>
    <TD valign="top" nowrap>附件说明文字:</TD>
    <TD colSpan=2><input name="d_alt" type=text id=d_alt style="width:243px" value="" size=68>(可填写附件文档的标题)</TD>
  </TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD colSpan=2><input type="submit" name="Submit" value="提交"><input type="reset" name="Submit2" value="重写"></TD>
  </TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD colSpan=2><font color="#FF0000">注:如果附件文件比较大,请您耐心等待,文件上传可能需要较长时间!</font></TD>
  </TR>
</TABLE>
</form>

解决方案 »

  1.   

    print "<script language=javascript>returnvar1('".$this->filestr."');</script>";该句用到了一个js函数~由于偶使用了编辑器,所以才用到,如果用不到编辑器的话可以修改为上传成功!
    大家帮偶优化一下,谢谢了!!
      

  2.   

    有一些缺点
    反馈信息不因该写在类里面你的类还是php4的,没有php5的新东西啊
      

  3.   

    ////设置文件名称
    function set_datetime()
    {
     $this->datetime = date("YmdHis");
    }////设置目录名称
    function set_date()
    {
     $this->date = date("Y-m-d");
    }
    这个最好可以让用户自己设置
      

  4.   

    function get_extention()
    {
     $this->extention = substr($this->upfile_name,-4);
    }扩展名不一定是3个字符的
      

  5.   

    帮 syre(神仙) 兄改一下呵function get_extention()
    {
     $tmp=explode(".",$this->upfile_name);
     $arri=count($tmp);
     $this->extention =$tmp[$arri];
    }扩展名可能是三个,可能是四个,万一是五个呢?呵,据我测试,图片的名字不管有没有扩展名,或扩展名有多长都能正常显示的。。
      

  6.   

    哦,,是$this->extention =$tmp[$arri-1];呵,,不好意思
      

  7.   

    感谢syre(神仙)和twt326(天地小子),修改的部分偶已经用上了。谢谢~~
    神仙提的建议也非常好~~谢谢大家~~
    结帖时一定送上分以表心意~~
      

  8.   

    完整版已经整理出来了,需要滴朋友从下面的链接下吧~~或到我的网站本站软件专区去下~~
    谢谢大家的支持!http://www.inteye.net
    http://www.500it.net/upload.rar解压密码是: www.inteye.net
      

  9.   

    给一个取文件后缀的函数
    /*********************************************************************
      函数名称: getPostfix
      功能描述: 取文件后缀
      被访问表: none
      被修改表: none
      输入参数: $filename ----------------- 文件名
      输出参数: $postfix ------------------ 后缀
      函数返回: str
      其他说明: 2004-9-17
    **********************************************************************/
    function getPostfix($filename)
    {
    $postfix = substr(strrchr(trim(strtolower($filename)),"."),1);
    Return $postfix;
    }
      

  10.   

    再给一个用正则的办法取后缀的函数
    function getPostfix($str) 
    {
        return preg_replace('/.*\.(.*[^\.].*)*/iU','\\1',$str);
    }
    $str = "abc.c.dd,.abc.h.ccc.fsabc.ff";
    echo getPostfix($str);
      

  11.   

    取后缀
    $ex=end(explode(".",$string));PHP5里建议使用__construct()来做构造函数哟。。呵呵,最后感谢楼主