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

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

言归正传

下面是功能代码,想用的可以自己加

main.php里两处

第一处:

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

第二处:

php 复制代码
   if (GetVars('reset', 'POST') == 'outcsv') {
        day_Out_Csv();
    }

然后就是include.php里的

加载最后即可

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.');
    }

}

实现功能如下:

文件会先生成在插件同目录下,每次生产会先删除之前,的下载路径是在后台登录时可下载

不用担心黑客通过文件访问下载,只要你的后台没有被攻入,就没有权限在不登录的情况下下载

相关推荐
电商API&Tina4 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
Sammyyyyy8 小时前
Symfony AI 正式发布,PHP 原生 AI 时代开启
开发语言·人工智能·后端·php·symfony·servbay
码农水水10 小时前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
do better myself12 小时前
php 使用IP2Location限制指定的国家访问实现
开发语言·php
用户146446050337914 小时前
PHP 多维数组处理利器:array_column() 用法详解
php·thinkphp
郑州光合科技余经理16 小时前
架构解析:同城本地生活服务o2o平台海外版
大数据·开发语言·前端·人工智能·架构·php·生活
智能修复17 小时前
502 Bad Gateway:互联网世界的“断桥”时刻
开发语言·php
源码师傅17 小时前
AI短剧创作系统源码 开发语言:PHP+MySQL 基于uniapp 无限SAAS多开源码
人工智能·php·短剧小程序开发·ai短剧创作系统源码·ai短剧创作系统·短剧原创制作软件
BingoGo17 小时前
PHP 8.5 #[\NoDiscard] 揪出"忽略返回值"的 Bug
后端·php
星辰烈龙1 天前
黑马程序员JavaSE基础加强d5
服务器·网络·php