我有一个部署到多个服务器的 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'] 时,它会出错。
我觉得它必须是服务器设置或文件夹设置,但我在网上找不到任何会导致这种情况的东西。
谢谢。