CakePHP如何在上传后从csv文件中获取数据

时间:2017-05-30 13:09:58

标签: cakephp cakephp-1.3

我创建了一个输入类型为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;
&#13;
&#13;

2 个答案:

答案 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)

由于您提供的代码不完整,您的问题质量很差。无论如何,我会尽力帮助你。

请检查以下事项:

  1. 您使用的是CakePHP FormHelper吗?
  2. 如果是这样,请务必使用Form初始化'type' => 'file'(请参阅here)。
  3. 最后检查$this->request->dataController中的内容。