Php 将阵列下载为文件
我正在使用codeigniter,并使用以下命令将信息从控制器传递到视图:Php 将阵列下载为文件,php,arrays,codeigniter,Php,Arrays,Codeigniter,我正在使用codeigniter,并使用以下命令将信息从控制器传递到视图: $this->load->view('myview', $data); $data是一个数组,定义为: $data['people'] = .... 在我看来,作为展示人 foreach($people as $person) { echo $person->name . " " . $person->email; } 然后我有一个文件,它接受一个“person”对象数组,并基于它创建
$this->load->view('myview', $data);
$data是一个数组,定义为:
$data['people'] = ....
在我看来,作为展示人
foreach($people as $person) {
echo $person->name . " " . $person->email;
}
然后我有一个文件,它接受一个“person”对象数组,并基于它创建一个csv文件
在我看来,我有一个指向该文件的链接,并希望将$people数组传递给它
执行此操作的最佳方法是什么?您可以使用数组创建一个CSV文件,并将其作为可下载文件,且路径在视图中 参考号 或 您可以在html中使用generate table,并使用javascript将其转换为csv
Ref在中的链接中传递数组是不可行的和其奇怪之处
我建议您在链接中传递某个特定人员的id,然后 通过再次查询数据库获取此人的数据 例如: 控制器
class People extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('people_model');
}
public function people()
{
$data['people'] = $this->people_model->get_people();
$this->load->view('myview', $data);
}
public function person_detail($person_id)
{
$person = $this->people_model->get_person($person_id);
// Now you have that person's detail
// Do whatever you want
// Write in a file
file_put_contents('filename.txt', print_r($person, true));
}
}
查看(myview.php)
是的,但是如果用户不想下载csv,那么它是免费创建的,只会占用服务器资源。谢谢,但是iCal是由CI控制器生成的,因此我需要重定向到/icalgenerator并以某种方式将数组传递给控制器。
<table>
<?php foreach($people as $person) { ?>
<tr>
<td><a href="/people/person_detail/{$person->id}"><?php echo $person->id ?></a></td>
<td><?php echo $person->name ?></td>
<td><?php echo $person->email ?></td>
</tr>
<?php } ?>
</table>