zblog中用户中心-邀请码注册插件的导出功能补充

自己加了一个导出未使用的邀请码功能,可惜我不是入驻作者,没有权限发布,之前被一条大河拒了,他说我抄他代码,不给我过审还冷嘲热讽,我一气之下,就没继续申请了,话说我是专业搞java开发的,并且我当时是第一次尝试php插件开发,用别人的文件框架,里面修改自己的东西怎么了,你tm的就没用过复制粘贴,草
言归正传
下面是功能代码,想用的可以自己加
main.php里两处
第一处:
**加粗样式**

<input type="submit" class="button" onclick="$('#reset').val('outcsv');" value="导出所有未使用邀请码(csv)" />

第二处:
在这里插入图片描述

   if (GetVars('reset', 'POST') == 'outcsv') {
        day_Out_Csv();
    }

然后就是include.php里的
加载最后即可

function day_Out_Csv(){
    global $zbp;
    $day_invitecode_Table = '%pre%day_invitecode';
    $day_invitecode_DataInfo = array(
        'ID'         => array('reg_ID', 'integer', '', 0),
        'InviteCode' => array('reg_InviteCode', 'string', 50, ''),
        'AuthorID'   => array('reg_AuthorID', 'integer', '', 0),
        'IsUsed'     => array('reg_IsUsed', 'boolean', '', false),
        'IP'         => array('reg_IP', 'string', 50, ''),
        'Time'       => array('reg_Time', 'integer', '', 0),
    );
    $sql = $zbp->db->sql->Select($day_invitecode_Table, '*', array(array('=', 'reg_AuthorID', 0), array('=', 'reg_AuthorID', 0)), null, null, null);
    $array = $zbp->GetListCustom($day_invitecode_Table, $day_invitecode_DataInfo, $sql);
    $sql = "SELECT * FROM users";
    $result =$array;
    $length = count($result);
    if ($length > 0) {
        $filename = "file";
        if(!is_readable($filename))
        {
            is_file($filename) or mkdir($filename,0700);
        }
        $filename = 'file/yqm_csv.csv';
        if (file_exists($filename)) {
            unlink($filename);
        }
        $file = fopen($filename, "w");
        stream_filter_prepend($file, 'convert.iconv.utf-8/gbk');
        fputcsv($file, array('id', '邀请码'));

        for($i = 0; $i < $length; $i++) {
            $data = json_decode($result[$i]);
            $nar = array();
            $nar[0]=$i+1;
            $nar[1]=$data->InviteCode;
            fputcsv($file, $nar);
        }
        fclose($file);

    }

    #下载文件
    $file_path = 'file/yqm_csv.csv';
    if (file_exists($file_path))
    {
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . basename($file_path));
        header('Content-Transfer-Encoding: binary');
        header('Content-Length: ' . filesize($file_path));
        readfile($file_path);
        exit;
    }
    else
    {
        die('File not found.');
    }

}

实现功能如下:
在这里插入图片描述
在这里插入图片描述

文件会先生成在插件同目录下,每次生产会先删除之前,的下载路径是在后台登录时可下载
不用担心黑客通过文件访问下载,只要你的后台没有被攻入,就没有权限在不登录的情况下下载

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值