自己加了一个导出未使用的邀请码功能,可惜我不是入驻作者,没有权限发布,之前被一条大河拒了,他说我抄他代码,不给我过审还冷嘲热讽,我一气之下,就没继续申请了,话说我是专业搞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.'); } }
实现功能如下:
文件会先生成在插件同目录下,每次生产会先删除之前,的下载路径是在后台登录时可下载
不用担心黑客通过文件访问下载,只要你的后台没有被攻入,就没有权限在不登录的情况下下载
还没有评论,来说两句吧...