网站首页
PHPCMS后台加入批量上传
发布时间:2015-04-07 10:28:43编辑:admin阅读()
-
首先在扩展下的菜单管理,在 内容->内容相关设置->管理栏目 下新建 批量上传

然后后台文件找到 phpcms\modules\admin\category.php 在里面加入如下代码:
/**
* 后台批量上传功能,根据文件的路径,对应放入 phpcms\modules\admin\xxx.php 的方法里面
* 需要在 phpcms\modules\admin\templates 放入相应的模板文件
* 字符根据需要转换
* 组装的sql语句需要更改
* 批量上传
*/
public function piliang(){
//接收提交文件
if(isset($_POST['dosubmit'])) {
//出错显示错误原因
if ($_FILES["file"]["error"] > 0){
showmessage("Error: " . $_FILES["file"]["error"] . "<br />");
}
//判断上传文件的格式
if($_FILES['file']['type'] != 'application/vnd.ms-excel'){
showmessage('请上传CSV格式文件',HTTP_REFERER);
}
//读取数据库配置文件
$database = pc_base::load_config('database');
$database = $database['default'];
//链接数据库
$db=mysql_connect($database['hostname'],$database['username'],$database['password']) ;
mysql_select_db($database['database'],$db);
mysql_query("SET NAMES 'utf8'",$db);
//打开文件,读取文件内容
$fp = fopen($_FILES['file']['tmp_name'], 'r');
while(!feof($fp)){
$data = fgetcsv($fp);
//如果取得的不是数组,跳过
if(!is_array($data)){
continue;
}
//将字符转换成UTF-8格式
$title = mb_convert_encoding($data[0],'UTF-8','GBK');
$pp = mb_convert_encoding($data[1],'UTF-8','GBK');
$fz = mb_convert_encoding($data[2],'UTF-8','GBK');
$ph = mb_convert_encoding($data[3],'UTF-8','GBK');
$kcsl = mb_convert_encoding($data[4],'UTF-8','GBK');
$beizhu = mb_convert_encoding($data[5],'UTF-8','GBK');
$time = mktime();
//组装SQL语句
$sql_z = "INSERT INTO jcd_kcss (catid,typeid,title,style,thumb,keywords,description,posids,url,listorder,status,sysadd,islink,username,inputtime,updatetime) VALUES (35,0,'$title','','','','$beizhu',0,'url',0,99,1,1,'admin',$time,$time)";
mysql_query($sql_z);
//获取上一次插入的ID号
$lastid = mysql_insert_id();
$sql_f = "INSERT INTO jcd_kcss_data (id,content,readpoint,groupids_view,paginationtype,maxcharperpage,template,paytype,allow_comment,relation,pp,fz,ph,kcsl) VALUES ($lastid,'',0,'',0,10000,'',0,1,'','$pp','$fz','$ph','$kcsl')";
mysql_query($sql_f);
}
//关闭文件
fclose($fp);
//关闭数据库
mysql_close();
showmessage('上传成功!',HTTP_REFERER);
}
else{
include $this->admin_tpl('piliang');
}
}
然后在phpcms\modules\admin\templates 下 加入模板文件 代码如下:
<?php
defined('IN_ADMIN') or exit('No permission resources.');
include $this->admin_tpl('header');?>
<form name="myform" action="?m=admin&c=category&a=piliang" method="post" enctype="multipart/form-data">
<div class="pad_10">
<div class="explain-col">
温馨提示:请上传<span style = "color:red;font-size:18px;">CSV</span>格式的文件!并且文件需要按照 <span style = "color:red;font-size:18px;">型号、品牌、封装、批号、库存数量、备注</span> 的格式,否则系统无法读取!
</div>
<div class="bk10"></div>
<div class="table-list">
<input type="file" name="file"/>
<div class="btn">
<input type="hidden" name="pc_hash" value="<?php echo $_SESSION['pc_hash'];?>" />
<input type="submit" class="button" name="dosubmit" value="提交" /></div> </div>
</div>
</div>
</form>
<script language="JavaScript">
<!--
window.top.$('#display_center_id').css('display','none');
//-->
</script>
</body>
</html>
