跳到主要内容

简述$ _FILES ['userfile'] ['name' ] 和 $ _FILES ['userfile'] ['tmp_name'] 有什么区别 ?

参考答案:

$_FILES['userfile']['name']$_FILES['userfile']['tmp_name'] 是 PHP 中用于处理文件上传的两个重要数组元素。它们各自代表上传文件的不同属性,具体区别如下:

  1. $_FILES['userfile']['name']

    • 这个元素存储的是上传文件的原始文件名,即用户在他们的本地系统上为文件命名的名称。
    • 例如,如果用户在他们的计算机上有一个名为 "example.jpg" 的图片,并尝试上传它,那么 $_FILES['userfile']['name'] 的值就会是 "example.jpg"。
    • 这个值主要用于在显示上传信息或在处理上传文件时引用文件的原始名称。
  2. $_FILES['userfile']['tmp_name']

    • 这个元素存储的是上传文件在服务器上的临时路径和文件名。当文件被上传到服务器时,PHP 会将其保存在一个临时位置,直到脚本执行完毕。
    • 临时文件名是系统生成的,通常用户无法直接访问或预测它。
    • 如果你想将上传的文件从临时位置移动到你的服务器的永久位置,你需要使用这个 tmp_name 值。

简而言之,$_FILES['userfile']['name'] 是文件的原始名称,而 $_FILES['userfile']['tmp_name'] 是文件在服务器上的临时存储位置。在处理文件上传时,你通常会使用 tmp_name 来移动文件,并使用 name 来显示或记录文件的原始名称。