【问题标题】:UPLOAD_ERR_NO_TMP_DIRUPLOAD_ERR_NO_TMP_DIR
【发布时间】: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


【解决方案1】:
$file_name=$_FILES["file"]["name"];
$file_tmp=$_FILES["file"]["tmp_name"];

【讨论】:

  • 稍微解释一下问题是什么以及您的代码如何解决这将是很好的
  • $file_tmp=$_FILES["file"]["tmp_name"];是空的,我的 $_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) } }
猜你喜欢
  • 2010-12-21
  • 1970-01-01
  • 2017-06-30
相关资源
最近更新 更多