表单类型为 file , 将有三个变量传到PHP  <input name="userfile" type="file">$userfile_name   :   文件名称
$userfile_size   :    文件大小
$userfile_type   :    text/plain   or    image/gif

解决方案 »

  1.   

    为上传文件定义的变量会根据 PHP 的版本及设置的不同而不同。自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这些数组将包含所有关于您上传的文件的信息,其中,我们推荐您使用 $_FILES。如果 PHP 的设置选项 register_globals 为 on,则相关的变量名将也会存在。从 PHP 4.2.0 版本开始,register_globals 的默认值被设为 off。 以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 userfile。 
    $_FILES['userfile']['name']
    客户端机器文件的原名称。 $_FILES['userfile']['type']
    文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。 $_FILES['userfile']['size']
    已上传文件的大小,单位为字节。 $_FILES['userfile']['tmp_name']
    文件被上传后在服务端储存的临时文件名。 $_FILES['userfile']['error']
    和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。 
    注: 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。 
      

  2.   

    谢谢各位,小弟经过摸索发现错误之处$upfile = "/home/book/uploads/" . $userfile_name;改为:$upfile = "home\\book\\uploads\\" . $userfile_name;