1

我有一个部署到多个服务器的 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 值的文件夹名称,而本地安装给出了临时文件夹和文件名。因此,当我的代码尝试 $_FILES['file_import']['tmp_name'] 时,它会出错。

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

谢谢。

4

1 回答 1

0

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

于 2013-06-05T00:21:56.640 回答