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

}

实现功能如下:

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

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

相关推荐
IT·小灰灰2 小时前
30行PHP,利用硅基流动API,网页客服瞬间上线
开发语言·人工智能·aigc·php
快点好好学习吧2 小时前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
秦老师Q2 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
是誰萆微了承諾2 小时前
php 对接deepseek
android·开发语言·php
刚刚入门的菜鸟2 小时前
php-curl
运维·web安全·php
独角鲸网络安全实验室3 小时前
本地信任成“致命漏洞”:数千Clawdbot Agent公网裸奔,供应链与内网安全告急
网络·网关·安全·php·漏洞·clawdbot·信任机制漏洞
冠希陈、5 小时前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
AI逐月7 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
学***54238 小时前
如何轻松避免网络负载过大
开发语言·网络·php
darkb1rd10 小时前
二、PHP 5.4-7.4版本演进与安全改进
安全·php·webshell