【发布时间】:2021-11-18 22:15:19
【问题描述】:
我有一个上传脚本已经运行了几个月,没有任何问题。 但是现在我遇到了问题,上传时出现错误 6(没有 tmp 目录)。 我的 $_FILES 数组如下所示:
array(5) { ["name"]=> array(1) { [0]=> string(5) "1.txt" } ["type"]=> array(1) { [0]=> string(0) "" } ["tmp_name"]=> array(1) { [0]=> string(0) "" } ["error"]=> array(1) { [0]=> int(6) } ["size"]=> array(1) { [0]=> int(0) } }
所以,但是当我运行phpinfo(); 时,upload_tmp_dir 处有系统标准 tmp 目录。
还有当我跑步时
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');
echo $temp_file;
这也没有问题,我有输出并且没有错误。
我尝试了一个空白的上传表单(没有任何其他代码)以及一个非常小的空 txt 文件。
有人知道出了什么问题吗?
谢谢
斯卡迪
【问题讨论】:
-
值得检查一下,您在
phpinfo()中看到的upload_tmp_dir的值是上传脚本本身看到的值。您可以使用ini_get() 进行检查。 -
好的,我已经检查过了。但在全局和本地值中也有 std tmp 目录。什么是访问 4? ["upload_tmp_dir"]=> 数组(3) { ["global_value"]=> 字符串(15) "C:\Windows\temp" ["local_value"]=> 字符串(15) "C:\Windows\temp" [“访问”]=> int(4) }
-
你没有按照我的建议去做,是吗?我认为您正在重复相同的原始检查:-?
-
不,我用 ini_get_all();
-
默认情况下,ini_get_all() 显示有关指令的所有详细信息。
access(访问级别)是一个位图,表示可以设置给定指令的位置。手册在这里停止(????)但a user comment 建议4用于PHP_INI_SYSTEM(“可以在php.ini 或httpd.conf 中设置条目”)。那是the default(我不知道这是可以更改的)。
标签: php file-upload