$_FILES 数组的内容如下所示。
我们假设文件上传字段的名称如上例所示,为 userfile(我估计你不能echo出值来,可能跟这个变量的设置有关) $_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 数组。 详见php手册=>特点=>文件上传处理

解决方案 »

  1.   

    上传文件的临时文件名
    其中userfile为表单的file对象的namephp4.1.0以后支持此写法
      

  2.   

    上传文件的临时文件名
    其中userfile为表单的file对象的namephp4.1.0以后支持此写法
      

  3.   

    关键是:echo $_FILES['userfile']['tmp_name'] 无法显示出其内容。
      

  4.   

    那要看你echo $_FILES['userfile']['tmp_name']是在哪个页面了,如果在你你上传函数的那个页面,自然是应该能echo出来的,可是,如果你上传表单的action为另外一个页面,那么你echo它当然是echo不出来的了
    <form enctype="multipart/form-data" action="" method="post">
    <form method=post action="" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="Send File">
    </form>
    <?php
    echo $_FILES['userfile']['tmp_name'];
    ?>
    这个写法是能够echo出来的.
      

  5.   

    不好意思,上面多写了一行,
    <form method=post action="" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="Send File">
    </form>
    <?php
    echo $_FILES['userfile']['tmp_name'];
    ?>
    我建议,既然上传是可以在一个页面完成的,那就不要action到另外页面
      

  6.   

    “关键是:echo $_FILES['userfile']['tmp_name'] 无法显示出其内容。”
    可能有二:
    1、你的php版本低于4.1.0,若是则根本没有预设的$_FILES数组
    2、上传失败简单的测试方法:
    在接受页面里
    print_r($_FILES);
    看一下结果
      

  7.   

    我现在把服务换成IIS5.0了,所有操作就又都好使了!能不能说说Apache 2的服务为什么会出这样的错呢?我安装Apache 2时要注意什么呢?