您的位置:首页 > 编程语言 > PHP开发

php表格下载与导入处理

2016-09-20 16:57 369 查看
<pre name="code" class="php">    public function pageMultadd() {
if (trim($this->request['type']) == 'down') {//下载模板
$file_name="sensitivewords.csv";
$file_sub_path=$_SERVER['DOCUMENT_ROOT']."/assets/style1/files/";
$file_path=$file_sub_path.$file_name;
//首先要判断给定的文件存在与否
if(!file_exists($file_path)){
$this->showMsg(false, '没有该文件');
}
$fp=fopen($file_path,"r");
$file_size=filesize($file_path);
//下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition: attachment; filename=".$file_name);
$buffer=1024;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
exit();
}

if (SUtil::isPost()) {
$mdl_word = new Model_XCsys_word();
//$mdl_word->setCache(SUtil::C('sqlCache')); //设置缓存

$filename = $_FILES['upload']['tmp_name'];
$filenames = pathinfo($_FILES['upload']['name']);
if ($filenames['extension'] != 'csv') {
$this->showMsg(false, '请选择要导入的CSV文件');
}
if (empty($filename)) {
$this->showMsg(false, '请选择要导入的CSV文件');
}
$handle = fopen($filename, 'r');
//$file = $this->input_csv($handle); //解析csv
while ($data = fgetcsv($handle)) { //每次读取CSV里面的一行内容
$file[] = $data;
}
$len_result = count($file);
if ($len_result == 0) {
$this->showMsg(false, '没有任何数据');
}

//卸载标题
unset($file[0]);
//循环插入数据
$repeat_num = 0;
$success_num = 0;
foreach ($file as $v2) {
$sql = $v2;
$word = trim(iconv('gb2312', 'utf-8', $sql[0]));
if (empty($word)) {
continue;
}
if ($mdl_word->getCount(array('word' => $word)) > 0) {
$repeat_num++;
continue;
}
$sqlArr['word'] = $word;
//die(SUtil::P($sqlArr));
$mdl_word->insert($sqlArr) <= 0 && $this->showMsg(false, '导入失败');
$success_num ++;
}
$msg = '导入成功,本次新增'.$success_num.'个';
if ( $repeat_num > 0) {
$msg .= ',已忽略重复敏感词'.$repeat_num.'个';
}
$this->showMsg(true, $msg);
} else {
return $this->template();
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: