2016-05-03 30 views
0

嗨我试图在网上搜索,但实际上找不到它。 那么$_FILES['file']['name']$_FILES['file']['tmp_name']之间有什么区别,或者说$_FILES['file']['tmp_name']究竟是什么?name和tmp_name之间的区别是什么

http://php.net/manual/en/features.file-upload.post-method.php

$ _FILES [ 'userfile的'] [ '名']原来的 客户端机器上的文件的名称。

$ _FILES ['userfile'] ['tmp_name'] 上传的文件存储在服务器上的临时文件名。

那么临时文件名和原始文件名有什么区别?

谢谢

+0

临时文件在成功上传时被自动删除。原名。好吧...保持上传文件的名称。这一切都在手册http://php.net/manual/en/features.file-upload.post-method.php。 *“如果文件未被移走或重命名,该文件将在请求结束时从临时目录中删除。“* –

+0

^可能要补充的是,tmp_name的值是文件存储使用move_uploaded_file()以 – Devon

+0

@Devon之前,我没有必要引用‘整个’手册;-)它不适合在这里*大声笑* –

回答

1

您的文件将这个路径$ _FILES [ 'IMAGE_PATH'] [ 'tmp_name的值']临时存储。所以当你移动它将从临时文件夹中删除到你的文件夹。如果您使用复制命令而不是move_uploaded_file,那么您的临时文件将保留在服务器的临时文件夹中。你可以在那里搜索文件名。

+1

没有什么,尚未表示或包括在手册中告诉我们什么,我们不知道。 –

+0

我的错,我还以为是tmpname名称或临时名称...感谢您的回答。 –

1
$_FILES['file']['tmp_name'] 

提供存储在系统临时文件目录下的Web服务器的硬盘上的文件的名称,除非另一个目录已在的php.ini文件使用upload_tmp_dir设置中指定。只有在负责处理表单提交的PHP脚本正在运行时,才会保留此文件。因此,如果您稍后想要使用上传的文件(例如,将其存储为在网站上显示),则需要在其他地方复制该文件。

要做到这一点,你可以使用move_uploaded_file()以功能,移动 从其临时上传的文件永久位置。请注意0​​那你最好使用move_uploaded_file()以过的功能,如 副本()重命名()用于此目的,因为它执行额外的检查,以确保该文件由HTTP POST请求确实上传。

$_FILES['file']['name'] 

提供了客户端计算机上的文件的名称,这submitted.If您做出临时文件的永久副本,你可能想给它,而不是自动生成的原始名称前上面描述的临时文件名。

因此,所有的一切:

$_FILES["file"]["name"] //stores the original filename from the client 
$_FILES["file"]["tmp_name"] //stores the name of the temporary file 

希望它能帮助!

相关问题