php导入功能,php中csv导入的功能

可能目前该方法不是完善

$file = $_FILES['csv'];

if ($file['error'] != 0)

{

$this->show_warning('select_file');

return;

}

$data = import_from_csv($file['tmp_name'], false, 'utf-8', 'utf-8');

$parents = array(0 => 0); // 存放layer的parent的数组

$fileds = array_intersect($data[0],array('cate_name', 'sort_order', 'if_show')); //第一行含有的字段

$start_col = intval(array_search('cate_name', $fileds)); //主数据区开始列号

print_r($data);

/**

* 从csv文件导入

*

* @param string $filename 文件名

* @param bool $header 是否有标题行,如果有标题行,从第二行开始读数据

* @param string $from_charset 源编码

* @param string $to_charset 目标编码

* @param string $delimiter 分隔符

* @return array

*/

function import_from_csv($filename, $header = true, $from_charset = '', $to_charset = '', $delimiter= ',')

{

if ($from_charset && $to_charset && $from_charset != $to_charset)

{

$need_convert = true;

}

else

{

$need_convert = false;

}

$data = array();

$handle = fopen($filename, "r");

while (($row = fgetcsv($handle, 100000, $delimiter)) !== FALSE) {

if ($need_convert)

{

foreach ($row as $key => $col)

{

$row[$key] = iconv($from_charset, $to_charset, $col); // 20121020 陈胜国 使用 ICONV 做字符集转换

}

}

$data[] = $row;

}

fclose($handle);

if ($header && $data)

{

array_shift($data);

}

return addslashes_deep($data);

}

/**

* 递归方式的对变量中的特殊字符进行转义

*

* @access public

* @param mix $value

*

* @return mix

*/

function addslashes_deep($value)

{

if (empty($value))

{

return $value;

}

else

{

return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值