public function Import_goods()
{
if(!empty($_FILES)){
if(@is_uploaded_file($_FILES['upfile']['tmp_name'])){
$http='http://'.$_SERVER['HTTP_HOST'].'/shop/shop_img';
$upfile=$_FILES["upfile"]; //获取数组里面的值
$name=$upfile["name"];//上传文件的文件名
$type=$upfile["type"];//上传文件的类型
$size=$upfile["size"];//上传文件的大小
$tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径
// echo dirname(__FILE__).'/excel/'.$name;die;
$url='./excel/'.time().$name;
move_uploaded_file($tmp_name,$url);//将上传到服务器临时文件夹的文件重新移动到新位置
// echo $url;die;
$error=$upfile["error"];//上传后系统返回的值
if($error==0){
// echo "文件上传成功啦!<br>";
setlocale(LC_ALL, 'zh_CN');
$row=0;
$list=array();
if (($handle = $this->fopen_utf8($url)) !== FALSE) {
while (($data = fgetcsv($handle, 10000000, "\t")) !== FALSE) {//循环行数
$num = count($data);
// echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
//print_o($data);//查看表头
//$c取第几列,$num总列数
for ($c=0; $c < $num; $c++) {
if ($row == 1 || $row == 3) {
continue;//过滤无用数据
}
// echo $data[$c]. "<br />\n";
// $list[$row][]= iconv('UCS-2BE','GBK',$data[$c]);
// echo $c;
//组合二维
if($row ==2){
$list[$row][]=$data[$c];
}else{
$list[$row][$list[2][$c]]=$data[$c];
}
}
}
fclose($handle);
}
unset($list[2]);
sort($list);
foreach ($list as $key => $value) {
//循环你的业务逻辑
}
}else{
echo "上传失败";die;
}
}
}
}
//读取csv数据乱码转换中文
function fopen_utf8($filename){
$encoding='';
$handle = fopen($filename, 'r');
$bom = fread($handle, 2);
// fclose($handle);
rewind($handle);
if($bom === chr(0xff).chr(0xfe) || $bom === chr(0xfe).chr(0xff)){
// UTF16 Byte Order Mark present
$encoding = 'UTF-16';
} else {
$file_sample = fread($handle, 1000) + 'e'; //read first 1000 bytes
// + e is a workaround for mb_string bug
rewind($handle);
$encoding = mb_detect_encoding($file_sample , 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');
}
if ($encoding){
stream_filter_append($handle, 'convert.iconv.'.$encoding.'/UTF-8');
}
return ($handle);
}