有什么意义$_FILES["file"]["tmp_name"]
?
我知道这是存储在服务器上的文件的临时副本的名称,但是为什么我们需要这个$_FILES["file"]["name"]
?
我认为这与防止名称冲突有关,这是真的吗?还有其他原因吗?我正在使用 PHP 语法,但我猜这个概念将适用于所有语言?
有什么意义$_FILES["file"]["tmp_name"]
?
我知道这是存储在服务器上的文件的临时副本的名称,但是为什么我们需要这个$_FILES["file"]["name"]
?
我认为这与防止名称冲突有关,这是真的吗?还有其他原因吗?我正在使用 PHP 语法,但我猜这个概念将适用于所有语言?
$_FILES['x']['name']
将文件名存储在用户的文件系统上——这只是浏览器设置的额外信息——就像$_FILES['x']['type']
.$_FILES['x']['tmp_name']
将上传文件的名称存储在服务器上。当您上传文件时,它会以物理方式存储在服务器的硬盘上。文件名(不是整个路径)将在 PHP 中的$_FILES['x']['tmp_name']
变量下可用。您应该使用move_uploaded_file()
函数移动文件。此函数知道存储文件的目录的路径,因此它能够将文件移动到新位置。
$_FILE['x']['name'] / ['type']
实际上完全没有用,因为在文件上传期间由浏览器设置,因此它们可以存储虚假信息。
因为当有人上传文件时,除非您将其保存在某处,否则它不会真正以“名称”保存在磁盘上,除非您明确将其保存在其他地方。在那之前,它的内容只能在临时文件中找到。