多个 $FILES 在控制器中无法识别(未定义的索引)
multiple $_FILES not recognized in controller (undifined index)
上下文:我正在学习 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>
action="adm/createArticle" : MVC 美化 URLs
在 htaccess 中:
RewriteEngine on
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controleur=&action=&id= [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["files"] 不被识别?
我检查了我的 php.ini,所有参数都设置为上传。
一些想法:
- 我的 MVC 框架有问题吗?但是它怎么会阻塞一个超全局变量呢?
- 我使用 smoothstate.js,一个网站页面转换插件,即使在管理部分也是如此。
它包含 AJAX。
- 我发布了我的 HTACCESS 代码,有什么方法可以扰乱 $_FILES 吗?
非常感谢您的帮助!
问题已解决: smoothstate.js 使 $_files 变空。
上下文:我正在学习 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>
action="adm/createArticle" : MVC 美化 URLs
在 htaccess 中:
RewriteEngine on
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controleur=&action=&id= [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["files"] 不被识别?
我检查了我的 php.ini,所有参数都设置为上传。
一些想法:
- 我的 MVC 框架有问题吗?但是它怎么会阻塞一个超全局变量呢?
- 我使用 smoothstate.js,一个网站页面转换插件,即使在管理部分也是如此。
它包含 AJAX。
- 我发布了我的 HTACCESS 代码,有什么方法可以扰乱 $_FILES 吗?
非常感谢您的帮助!
问题已解决: smoothstate.js 使 $_files 变空。