form为:
<form action="up_back.php" method="post" enctype="multipart/form-data">
   <tr bgcolor="#ccccff">
   <td>选择文件:</td>
   <td><input type="file" name="upfile" size=32></td>
   </tr>
   <tr>
   <td>文件描述:</td>
   <td><input type="text" name="describe" size=42></td>
   </tr>
   <tr>
   <td>上传人:</td>
   <td><input type="text" name="owner" size=42></td>
   </tr>
   <tr>
   <td>提交选择:</td>
   <td><center><input type="submit" value="提交选择"></center></td>
   </tr>
   </form>
在up_back.php中
echo $_POST["upfile"];
echo $_FILES["upfile"]["name"];
就这两行,
然后第一行能输出,第二行没有值,用print_r($_FILES) 结果是Array(),没有别的了
 
两个文件的编码都设成了utf-8 请教一下为什么?想得到$_FILES["upfile"]["name"];的值的,如果是设置问题也帮忙说下,用的apache 2 ,windows XP, php5.2.17

解决方案 »

  1.   

    怎么可能会第一行能输出,第二行没有值呢应该是第一行没有值,第二行能输出才对阿上传文件不是用$_POST取得的,应该用$_FILE取得所以你的$_POST["upfile"]应该是没有值才对建议你
    print_r($_POST);
    看一下post里面有那些数组!
      

  2.   

    你的代码没有问题,应该是配置问题。 在 PHP.ini 的File Uploads 下,看看 file_uploads是否为 Off ,如果是,就改成 On
      

  3.   

    哦,我弄了一上午弄晕了,开始写错了,就一直以为$_FILE有问题,刚发现本来改过了,后来脑子僵那儿了,谢谢一楼了。配置文件没有问题,也谢谢二楼。