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

}

实现功能如下:

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

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

相关推荐
Q_Q51100828510 小时前
python+uniapp基于微信小程序团购系统
spring boot·python·微信小程序·django·uni-app·node.js·php
catchadmin18 小时前
PHP8.5 的新 URI 扩展
开发语言·后端·php
G佳伟20 小时前
yii2添加新的modules完为什么访问的时候报错404
php
亿坊电商1 天前
在PHP框架里如何进行数据库连接?
数据库·oracle·php
Q_Q5110082851 天前
python基于web的汽车班车车票管理系统/火车票预订系统/高铁预定系统 可在线选座
spring boot·python·django·flask·node.js·汽车·php
WordPress学习笔记1 天前
安装WordPress时没生成wp-config.php的解决方法
php·wp-config
浪裡遊1 天前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
notillusion2 天前
KWW#71843
java·php·程序优化
notillusion2 天前
TRX#22597
java·php·程序优化
、花无将2 天前
PHP:下载、安装、配置,与apache搭建
android·php·apache