【发布时间】:2015-10-28 11:46:20
【问题描述】:
我希望我的用户选择多个联系人并以 vcard 格式导出他们的详细信息。这是我的控制器:
function get_contacts_email_vcard()
{
$this->load->library('vcard');
$datavcard = $this->getvcard($this->user_model->get_email_contacts());
}
function getvcard($dat)
{
$datavcarddata = array();
foreach($dat as $data){
$datavcarddata['display_name'] = $data->name;
$datavcarddata['cell_tel'] = $data->mobile_no;
$datavcarddata['email1'] = $data->email;
if (is_array($datavcarddata))
{
$this->vcard->vcard($datavcarddata);
}
else
{
$this->vcard->vcard();
}
$this->vcard->zipdownload();
}
return $datavcarddata;
}
这是我的看法:
<li><a href="<?php echo base_url(); ?>auth/get_contacts_email_vcard">vCard(Address Book)</a></li>
这是我的模型:
$this->db->select('*');
$this->db->from('contacts');
$this->db->where('user_id', $this->session->userdata('user_id'));
$this->db->order_by('date_created', 'DESC');
$query = $this->db->get();
$result = $query->result();
return $result;
我面临的问题是这只能工作一次。只有我数据库中最后一个联系人的数据会下载到一个 zip 文件中。我想为不同的联系人创建不同的 zip 文件或 vcf 文件。我还想创建一个包含所有 vcf 文件的单个 zip 文件。
【问题讨论】:
-
我不知道 vcard 库是如何工作的,但如果看起来它是罪魁祸首。它是否有任何方法可以返回 vcard 数据,以便您可以将其放入数组中并将所有卡片压缩在一起?
-
感谢您的回复。我不知道。我尝试创建一个数组并对其进行压缩,但没有成功。
-
任何可以解决我的问题的人 :-(
标签: php codeigniter vcf-vcard