我做了一个文件上传的程序,我在一台机器测试是好的,但是移植到另外一台服务器就不行了。
<input id="upname[]" name="upname[]" type="file" style=" width: 200px; background-color:#f0f0f0; " />这是一个文件上传代码
我在一台服务器上测试 print_r($_FILES['upname'])没有问题,可以打印出结果,但是移植后就打印不出结果。谁知道么,解决马上给分。

解决方案 »

  1.   

    form 里有这个吗?enctype="multipart/form-data"
      

  2.   

    注意两点:
    1.form里面必须有enctype="multipart/form-data"
    2.form必须是method="post"
      

  3.   

    <div style=" background-image:url(images/upfile.gif); background-position:left; background-repeat:no-repeat; width: 95%; height:43px;">&nbsp;</div>
    <hr style=" width: 95%; border:1px #597ecf solid;"  />
    <div style=" width: 95%; height:25px; background-color: #FFFFCC; border: 1px #FFFF66; line-height: 25px; text-align:center; color:#ff0000;">&nbsp;上传文件限制:2M</div>
    <form method="post" enctype="multipart/form-data" action="?act=upfile">
    <ul id="change">
    <li id="addordel"><input id="upname[]" name="upname[]" type="file" style=" width: 200px; background-color:#f0f0f0; " />&nbsp;
    <button onClick="delRow()" style=" border: 1px #CCCCCC solid; background-color:#f0f0f0;">删除</button>&nbsp;<button onClick="insertRow()" style=" border: 1px #cccccc solid; background-color: #f0f0f0;">增加</button>&nbsp;</li>
    </ul>
    <input id="upbtn" name="upbtn" type="submit" value="上传" onClick="return chkfile()" style=" background-color:#f0f0f0; border: 1px #CCCCCC solid;" />
    </form>
    这是部分定义
      

  4.   

    print_r($_FILES)看看不清楚upname是干什么用的,
    $_FILES应该是有内容的。
      

  5.   

    我在响应文件中调用print_r($_FILES['upname'])在一台服务器上测试可以,但是拷贝到另外一台就不行了
      

  6.   

    print_r($_FILES)打印的结果就是Array(),upname就是
    <input id="upname[]" name="upname[]" type="file" style=" width: 200px; background-color:#f0f0f0; 中定义的file类型控件的名字。
      

  7.   

    有可能是php版本不同产生的问题
    你把upname后面的[]去掉看看如何
      

  8.   

    解决了,在php.ini文件中有一行,upload_tmp_dir = C:\PHP\uploadtemp ,而系统中 C:\PHP文件夹下不存在uploadtemp文件夹,建一个就可以了