• 中文
    • English
  • 注册
    • 查看作者
    • discuz!论坛程序导出充值卡密到txt文本教程

      前言:

      使用过discuz!论坛程序朋友的应该都知道,后台“运营”里有个生成充值卡密的功能,用户可以通过卡密充值的方式获取论坛金币。论坛管理员一般都是后台导出充值卡密,然后拿到自动发卡平台寄售的,而discuz!论坛程序默认导出的是excel表格数据,而发卡平台只支持导入txt文本格式的数据,如此一来就需要手工把excel表格里的数据编写成发卡平台可以使用的txt文本,可以说是相当麻烦的,因此我们可以修改一下discuz!的代码,直接导出我们需要的txt文本卡密就可以了。

      打开文件:source/admincp/admincp_card.php

      1、搜索代码  } elseif ($operation == 'export'){  ,这个括号里的代码就是导出充值卡密的代码,我们修改成如下:

          /*导出到txt文本*/
      	$sqladd = cardsql();
      	$_GET['start'] = intval($_GET['start']);
      	$count = $sqladd ? C::t('common_card')->count_by_where($sqladd) : C::t('common_card')->count();
      	if($count) {
      		$cardtype = C::t('common_card_type')->range();
      		$count = min(10000, $count);
      		$content="";
      		$i=1;
      		foreach(C::t('common_card')->fetch_all_by_where($sqladd, $_GET['start'], $count) as $result) {
      			//使用[.=]拼接字符串
      			$no=date("Ymd").$result['extcreditsval'].$i;
      			$content .=$no." ".$result['id']."\r\n";
      			$i++;
      		}
      		$filename = 'card_'.date('Ymd', TIMESTAMP).'.txt';
      		ob_end_clean();
      		header('Content-Encoding: none');
      		header('Content-Type: application/octet-stream');
      		header('Content-Disposition: attachment; filename='.$filename);
      		header('Pragma: no-cache');
      		header('Expires: 0');
      		if($_G['charset'] != 'gbk') {
      			$content = diconv($content, $_G['charset'], 'GBK');
      		}
      		echo $content;
      		exit();
      	}

      2、导出来的txt文本效果如图:

      discuz!论坛程序导出充值卡密到txt文本教程

      卡号是使用日期+序号,一般的发卡平台都需要填写卡号和卡密。 

      3、大家也可以直接复制粘贴整个admincp_card.php文件的代码,完整的admincp_card.php请在附件里下载!

      admincp_card.zip

    • 1
    • 0
    • 0
    • 177
    • quweisu

      请登录之后再进行评论

      登录
    • 返回顶部
    • 做任务
    • 实时动态
    • 偏好设置
    • 到底部
    • 单栏布局 侧栏位置: