set_time_limit(0);
$config['upload_path'] = 'datauploads/';
$config['allowed_types'] = '*'; // CSV|csv|xlsx|xls
$config['max_size'] = '0';
$config['max_width'] = '0';
$config['max_height'] = '0';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
if(!$this->upload->do_upload('file_upload'))
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else
{
$file_name = $this->upload->file_name;
$datas = array('upload_data' => $this->upload->data());
$handle = fopen(base_url()."datauploads/$file_name", "r");
$fp = $handle;
$BufferString= @fgets($fp ,4096);
$BufferString = explode("\n",$BufferString);
$childDropdown = array();
$childDropdownArr = $this->dform_model->edit_field($modId,$recId);
$childDropdown = explode("|",$childDropdownArr['def_value']);
while (($datas = fgetcsv($handle,1024*30, ",")) !== FALSE)
{
$displayName = $datas[0];
$databaseValue = $datas[1];
if(!in_array($databaseValue,$childDropdown[$displayName]))
$childDropdown[$displayName][] = $databaseValue;
}
}
在这里,我编写了一些代码,用表的def|value列中的现有值更新新的excel值,我有这样的def|value值(0,us,us,| 0,monali,monali,|),在这里,我需要从文本中分解0和|。我将值分解为$childdropdown=explode(“|”,$childdropdownarr['def_value']);但它不适用于爆炸两个值。如何做到这一点使用codeigniter可以任何一个请帮助我。。
1条答案
按热度按时间xn1cxnb41#
资料来源:https://www.php.net/manual/en/function.explode.php#111307