【问题标题】:PHP files not detected using the $_FILES array [duplicate]使用 $_FILES 数组未检测到 PHP 文件 [重复]
【发布时间】:2022-06-10 20:35:05
【问题描述】:

问题

$_FILES['file'] 数组已设置,但每当我尝试使用它时它都是空的。

我尝试了什么

  • 谷歌搜索
  • 在 php.ini 中将文件上传设置为 On(Xampp 和项目文件根目录)
  • 一次上传一个文件(只是尝试解决问题
  • 调试整个代码一个月试图解决这个问题

我所知道的事实

  • onSubmit 的路径是正确的
  • 表单中输入的名字和$_FILES['file']后面的名字完全一样
  • 表单具有所有必需的属性
  • 输入中包含 type="file" 和多个

我的表单代码(HTML)和文件引擎(PHP)

<html>
<form method="POST" action="../php/post.php" enctype="multipart/form-data">
<h3>Title</h3>
<input type="hidden" name="case" value=1>
<input type="title" name="pname">
<h3>Message</h3>
<input type="message" name="pmsg">
<h3>Images</h3>
<input type="file" name="pimg[]" multiple>
<input class="submit" type="submit" value="Upload">
</form>
</html>

PHP

<?php
if (!empty($_FILES['file']['pimg'])){
$noFiles = 1;
echo "Files found...\n";
} else {
$noFiles = 0;
echo "Files not found...\n";
echo (!empty($_FILES['file']['pimg']));
echo $_FILES['file']['pimg'][0];
}
?>

输出

如果判断数组为空,最后回显会报错

【问题讨论】:

  • 什么是$_FILES['file']['pimg']?不是$_FILES['pimg']吗?
  • 尽量具体描述所发生的事情。您说“最后一个回显导致错误”,但没有向我们展示错误的含义。即使您不知道它的含义,向我们展示它也可以让我们向您解释它。您还可以添加var_dump($_FILES); 的输出,这可能会揭示问题。
  • 而这一切都可以用一行代码解决:print_r($_FILES);
  • 我试过 print_r();它什么也不返回。错误只是说 ['pimg'] 不存在
  • “我试过 print_r();它什么也没返回。” print_r($_FILES); 总是会显示一些东西。

标签: php html forms


【解决方案1】:

离你不远了。 $_FILES['file']['pimg'] 应该是 $_FILES['pimg'] 您还应该检查是否选择了某些内容。 $_FILES['pimg']['size'] 检查文件大小。如果为 0,则不选择任何内容

这种方式行得通。

<?php

    if ($_FILES['pimg']['size'] != 0){
        $noFiles = 1;
        echo "Files found...\n";
        echo $_FILES['pimg']['name'][0];
    } else {
        $noFiles = 0;
        echo "Files not found...\n";
    
    /* This will always be empty placed here as no files have been found */
    //echo (!empty($_FILES['file']['pimg']));
    //echo $_FILES['file']['pimg']['name'][0];
    }

?>

【讨论】:

  • 这不起作用,当表单有一个名为 pimg 的文件字段时,$_FILES['pimg'] 不会为空,即使没有上传任何内容。
  • 你是对的@shingo 编辑了上面的代码
  • Shingo 不正确,解决了问题:D
猜你喜欢
  • 1970-01-01
  • 2014-03-23
  • 2015-03-19
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 2015-11-18
相关资源
最近更新 更多