如何实现数据的分页
$pagesize = 10;
$Model = M('student');
$count = $Model->count();
$data = $Model->page("{$p},{$pagesize}")->select();
$Page = new \Think\Page($count,$pagesize);
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$Page->setConfig('first','首页');
$Page->setConfig('last','末页');
$show=$Page->show();
$this->assign('page',$show);
html中
<ul class="pager">{$page}</ul>
上传文件并存入数据库
$upload = new \Think\Upload();
$upload->maxSize = 0;
$upload->exts = array('csv');
$upload->rootPath ='./Public/Upload/';
$upload->savePath = '';
$info = $upload->upload();
上传的路径为
$file = $upload->rootPath.$info['file']['savepath'].$info['file']['savename'];
检测文件是什么编码 如何不是UTF-8 将它转化为UTF-8
$encoding = detect_encoding($file);
if($encoding != 'UTF-8'){
$contens = file_get_contents($file);//将整个文件读入一个字符串
$contens = mb_convert_encoding($contens,'utf-8',$encoding);//转换字符的编码
// $contens = iconv($encoding, 'utf-8', $contens);
file_put_contents($file, $contens); //将一个字符串写入文件
}
打开文件
$fp = fopen($file, 'r');
创建一个数组 作为索引值 合并数组 并判断是否数据库里存在 最后存入数据库
if($fp){
$fields = array('no','name','sex');
$Model = M('newstudent');
$noarr = $Model->getField('no',true);
$arr = array();
while(($row = fgetcsv($fp,1000,","))!==false){
if(in_array($row['0'],$noarr)){
$str.=$row['0'].',';
}else{
$noarr[] = $row['0'];
$arr[]= array_combine($fields, $row);
}
if(count($arr)==1000){
$Model->addAll($arr);
unset($arr);
}
}
if(count($arr)>0){
$Model->addAll($arr);
}
}