可能目前该方法不是完善


<?php 
$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);
}
}
?>


更多相关文章

  1. WebKit "拒绝设置不安全的标题'内容长度' "
  2. 拒绝获取不安全标题“位置”
  3. 为什么我收到此错误:“未捕获的TypeError:无法读取未定义的属性'标
  4. IE:令人难以置信的跳跃表标题
  5. 使用python api递归计算每个Dropbox文件夹大小
  6. 学习python的第十六天(迭代器,三元表达式,列表生成式,字典生成式,
  7. 绕脑的汉诺塔递归
  8. 基本sql:输出用双引号括起来的标题
  9. sqlserver 存储过程 递归查询分组+hierarchyid重建会员关系

随机推荐

  1. Android 教你如何通过 LocationManager
  2. android中实现从一个图片中截取一部分,在
  3. android layout属性 .
  4. Android模仿文件夹管理实例
  5. Android画图学习笔记一 类的简介
  6. android录音相关
  7. Android(安卓)Enter软件盘监听事件。
  8. Android(安卓)自定义缩短Toast显示时间
  9. android和vue交互之js调取原生安卓扫码库
  10. Android Http Server