form是这样写的吗?
<form name="form1" enctype="multipart/form-data" method="post" action="**.php">特别注意:enctype="multipart/form-data"有这个吗?

解决方案 »

  1.   

    参考一下:
    /////////////////////////前台页面表单////////////////////////////<form action="" method="post" enctype="multipart/form-data" name="form1">
                              <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
                                <tr bgcolor="F5F8FF"> 
                                  <td width="100" height="30"> 
                                    <div align="right">名称:</div></td>
                                  <td><input name="name" type="text" size="50"></td>
                                </tr>
                                <tr bgcolor="F5F8FF"> 
                                  <td height="30"> 
                                    <div align="right">文件:</div></td>
                                  <td><input type="file" name="small_img">
                                  </td>
                                </tr>
                                <tr bgcolor="F5F8FF"> 
                                  <td colspan="2" valign="top" height="30"><div align="center"> 
                                      <input type="hidden" name="act" value="add_intro">
                                      <input type="submit" name="Submit" value="提交" class="sbttn">
                                        
                                      <input type="reset" name="Submit2" value="重置" class="sbttn">
                                    </div></td>
                                </tr>
                                <?
      $sql="select * from gonggao order by add_time desc";
      $mydb->query($sql);
      while($mydb->next_record())
      {
      ?>
                                <? }?>
                              </table>
                            </form>/////////////////////////后台提交程序////////////////////////////
    <?php
    include("config.php");
    include("check.php");
    if($act=="add_intro")
    {
        if($small_img!="none" && $small_img!="") 
            {
    $v=opendir("up_img");
            $upfile=split("\.",$_FILES['small_img']['name']);
            $numbers=count($upfile)-1;
            $upfiletype=$upfile[$numbers];
            $time=time();
            $rand=rand(1000,1999);
            $img_name1=$time.$rand.".".$upfiletype;
                $up1=copy("$small_img","up_img/$img_name1"); //关键一步,将临时文件复制到up_img目录下
    if($up1)
    {
    $img1=$img_name1;
          unlink($small_img); //从临时文件夹中删除档案$img
           closedir($v); //关闭目录handle
            }
            }
    $query="insert into qikan(name,file) values('$name','$img1')";
        if($mydb->query($query)) 
    echo "<script>alert('提交成功!');window.open('qikan.php','main','')</script>";
    }
    ?>
      

  2.   

    if($_FILES['upfile']['size'] == 0){
    //$_FILES['upfile']['size'] 得到上传图片大小。
      echo "请选择需要上传的图片";
    }else{
    //getimagesize函数返回数组变量,得到上传图片的相关信息.
    //0是图片的长,1是图片的宽,2是图片的后缀名
      $imageinfo=getimagesize($_FILES['upfile']['tmp_name']);
      if($imageinfo[0] > 120 or $imageinfo[1] > 80){
        echo "图片大小不符合标准";
      }elseif($imageinfo[2] < 1 or $imageinfo[2] > 3){
        echo "简介图片只能是GIF,JPG,PNG格式";
      }
    //$imageinfo[2] 的值得于1,表示是gif格式, 2是jpg格式,3是png
      if($imageinfo[2] == 1){
        $imageinfo[2] = ".gif";
      }elseif($imageinfo[2] == 2){
        $imageinfo[2] = ".jpg";
      }else{
        $imageinfo[2] = ".png";
      }
    //文件名:把时间和文件名的md5值组合,加上后缀得到文件名。
      $imgname = date(YmdHis).substr(md5($fname),0,5).$imageinfo[2];
    //复制上传图片至你的接收上传图片目录。此例中为$root/$set[flashimgdir]/$imgname
      copy($_FILES['upfile']['tmp_name'], "$root/$set[flashimgdir]/$imgname");
    }
      

  3.   

    是的,有这个,但是我不希望用户手工操作,选择图片路径,而是直接给file付值,这样可以吗?或者有没有其他办法实现文件的上传?
      

  4.   

    什么叫用户不手工操作呢?
    现在的图片上传至少需要用户选择一下本地路径把
    http://www.mypcera.com/softxue/web/php.htm
      

  5.   

    file对象基于浏览器安全性问题,它的value不能有默认值
    而且基于同样道理也不能在客户端得到文件的大小
    否则就是浏览器的露洞
    当然你用其他方法如ActiveX、OCX来实现另当别论