我创建了一个输入类型为file
的表单,按钮提交以访问控制器中的函数,问题是我无法从该文件中获取数据。
在我打电话的时候在控制器中:
function displayAll() {
$adherents = $_FILES['file']['tmp_name'];
prd($adherents);
}

我发现了这个错误
未定义索引:文件[APP \ controllers \ adherents.php,第36行]
这是观点:
<h2>Upload filer</h2>
<br>
<fieldset class="pano bleu">
<?php echo $this->Form->create('adherentsSuph', array('action'=>'displayAll'));?>
<?php
echo $this->Form->input('file', array('type' => 'file'));
echo $bouton->block(array(
'cancel'=>array('action'=>'index'),
'submit'=>array('id'=>'addAdherentFile')
));
echo $this->Form->end();?>
</fieldset>
&#13;
答案 0 :(得分:1)
将"Enable billing export"
添加到您的表单选项中,如下所示:
'type' => 'file'
&GT;
检查是否是有效请求和有效文件,然后使用<?php echo $this->Form->create('adherentsSuph', array('action'=>'displayAll', 'type' => 'file')); ?
将整个文件读入数组并循环播放。
file()
另见:
调试
if (!empty($this->data)) { if (is_file($this->data['file']['tmp_name'])) { $file = file($this->data['file']['tmp_name']); foreach ($file as $key => $row) { var_dump($row); die; } } }
以检查是否需要将$this->data
更改为$this->data['file']
答案 1 :(得分:0)
由于您提供的代码不完整,您的问题质量很差。无论如何,我会尽力帮助你。
请检查以下事项:
Form
初始化'type' => 'file'
(请参阅here)。$this->request->data
中Controller
中的内容。