控制器中未识别多个$ _FILES(未定义的索引)

时间:2016-05-12 15:01:40

标签: php forms file model-view-controller upload

上下文:我正在学习MVC架构,我使用的是自定义框架。
问题:我的表单成功发送$ _POST,但$ _FILES被注意为未定义的

在视图中

表格

<form action="adm/createArticle" method="post" enctype="multipart/form-data">
    //some inputs..
    <input name="files[]" id="files" type="file" multiple="multiple" />
</form>

行动=&#34; ADM / createArticle&#34; : MVC美化网址
在htaccess:

RewriteEngine on
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controleur=$1&action=$2&id=$3 [NC,L]
控制器中的


public function createArticle() {
    $filesArray = $_FILES["files"];
    $this->generateView(array("filesArray" => $filesArray));
}

提交表单时

在目标网页(createArticle.php)中:

// Testing
<?php var_dump($filesArray)?> // null
<?php var_dump($_POST)?>      // status 200 OK
<?php var_dump($_FILES)?>     // array (size=0) empty

警告信息:

Notice: Undefined index: files in C:\wamp64\www\etc\Controller\ControllerAdm.php on line 54

我不明白这个问题:为什么$ _POST没问题,$ _FILES [&#34;文件&#34;]无法识别?
我检查了我的php.ini,所有参数都设置为上传。

一些想法:
- 我的MVC框架是什么原因?但它怎么会堵塞一个超全局变量呢? - 我使用smoothstate.js,一个网站页面转换插件,甚至在管理部分。
它包含AJAX - 我发布了我的HTACCESS代码,有没有办法扰乱$ _FILES?

真的感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

问题解决了: smoothstate.js使$ _files变空。