$ _FILES ['file_import'] ['tmp_name'])仅返回文件夹名称但不返回文件名

时间:2013-06-04 23:41:38

标签: php file upload

我有一个php Web应用程序,我部署到多个服务器。它适用于我的本地安装以及我所安装的所有其他服务器。

但是在我正在部署的当前服务器上,我遇到了所有文件上传功能的问题。

当尝试调试它时,我意识到它们在尝试获取finfo(FILEINFO_MIME_TYPE)时失败。

示例:表单有一个名为“file_import”的上传字段。我将以下代码行放入共享导入函数。

die(print_r($_FILES['file_import']));

在我的本地安装上,它返回:

Array
(
    [name] => US Capital Division.csv
    [type] => application/vnd.ms-excel
    [tmp_name] => C:\wamp\tmp\php3B7C.tmp
    [error] => 0
    [size] => 1268
)
1

在它返回的当前部署上载相同的文件:

Array
(
    [name] => US Capital Division.csv
    [type] => application/vnd.ms-excel
    [tmp_name] => /tmp/phpJdRZDW
    [error] => 0
    [size] => 1268
)
1

他们都说他们没有错误,但部署服务器只提供tmp_name值的文件夹名称,而本地安装提供临时文件夹AND文件名。所以,当我的代码尝试$ _FILES ['file_import'] ['tmp_name']时,它会出错。

我觉得它必须是服务器设置或文件夹设置,但我在网上找不到任何会导致这种情况的内容。

感谢。

1 个答案:

答案 0 :(得分:0)

实际上,phpJdRZDW里面[tmp_name] => /tmp/phpJdRZDW不是文件夹...它只是一个临时文件名,而文件位于/tmp/文件夹内(等待移动并且[通常] ]重命名)。