PHP康盛Discuz分表模拟实现代码
Discuz!代码大全

[wma]mms:///example.wma[/wma] (嵌入 Windows media 音频)
[wmv]mms:///example.wmv[/wmv] (嵌入 Windows media 音频或视频)
Flash Movie (嵌入 Flash 动画)
效果:
[img=88,31]/admin/img/56.gif[/img] (链接图像并限制大小)
效果:
[swf]:8000/images/banner.swf[/swf] (链接 flash 动画,用法与 [img] 类似)
Flash Movie (嵌入 Flash 动画)
[qq]688888[/qq] (显示 QQ 在线状态,点这个图标可以和他(她)聊天)
[ra]rtsp:///example.ra[/ra] (嵌入 Real 音频)
[rm]rtsp:///example.rm[/rm] (嵌入 Real 音频或视频)
[quote]Discuz! Board 是由康盛创想(北京)科技有限公司开发的论坛软件[/quote] (引用内容,类似的代码还有 [code]
�
效果:只有当浏览者积分高于 20 点时,才显示其中的内容,否则显示为“**** 隐藏信息 积分高于 20 点才能显பைடு நூலகம் ****”
[list]
[*]列表项 #1
[*]列表项 #2
[*]列表项 #3
[/list] (列表)
[fly]This is sample text[/fly] (使内容横向滚动,这个效果类似 HTML 的 marquee 标签,注意:这个效果只在 Internet Explorer 浏览器下有效。)
论坛Discuz代码使用大全

论坛Discuz代码使用2008-08-28 14:211.[b]文字[/b]:在文字的位置可以任意加入您需要的字符,显示为粗体效果。
2.[i]文字[/i]:在文字的位置可以任意加入您需要的字符,显示为斜体效果。
3.[u]文字[/u]:在文字的位置可以任意加入您需要的字符,显示为下划线效果。
4.[align=center]文字[/align]:在文字的位置可以任意加入您需要的字符,center位置center 表示居中,left表示居左,right表示居右。
5.[color=red]文字[/color]:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。
6.[SIZE=数字]文字[/size]:输入您的字体大小,在标签的中间插入文字可以实现文字大小改变。
7.[font=隶书]改变字体[/font]8.[FLY]飞翔的文字[/FLY]:在标签的中间插入文字可以实现文字飞翔效果,类似跑马灯。
9.[MOVE]移动的文字[/MOVE]:在标签的中间插入文字可以实现文字移动效果,来回飘动。
10.[FLIPH]左右颠倒文字[/FLIPH]11.[FLIPV]上下颠倒文字[/FLIPV]12.[GLOW=255,red,2]文字[/GLOW]:在标签的中间插入文字可以实现文字发光特效,glow内属性依为宽度、颜色和边界大小。
13.[BLUR=文字宽度,方向,浓度]模糊文字[/BLUR]14.[SHADOW=255,red,2]文字[/SHADOW]:在标签的中间插入文字可以实现文字阴影特效,shadow内属性依次为宽度、颜色和边界大小。
15.[url=/]/[/url][url=/]康盛创想[/url]:有两种方法可以加入超级连接,可以连接具体地址或者文字连接。
16.[img]图片地址[/img] :在标签的中间插入图片地址可以实现插图效果。
17.[email][url=421121796@]给我发email[/url][/email] 发email给我18.[wmv=360,65,1]视频、mp3文件的链接地址[/wmv]这是论坛最常使用的插入视频或者mp3文件的格式。
用PHP MYSQL 实现论坛里的分级 分页显示

/*存放贴子的表结构------------------------------------------------------create table bbsrow(bbsrow_id int(6) not null auto_increment, //贴子ID号bbsrow_auth varchar(20) not null, //贴子作者bbsrow_parentid int(6), //贴子的父亲贴子ID号,如为首发贴则为空bbsrow_title varchar(200) not null, //贴子标题bbsrow_returncount int(3), //贴子的回复贴数,如果没有回贴则为空primary key (bbsrow_id));-----------------------------------------------------------------------------*///显示儿子贴的递归函数-------------------------------------------------- function showchildren($parent_id){global $connect_id;$query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'"; $result_top=mysql_query($query,$connect_id);echo "n";while($myrow_child=mysql_fetch_row($result_top)){echo "";echo $myrow_child[0];echo $myrow_child[1];echo $myrow_child[2];echo $myrow_child[3];echo $myrow_child[4] . "n";//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴if($myrow_child[4]!=''){showchildren($myrow_child[0]);}}echo "";}//----------------------------------------------------------------------//连接数据库并将所有首发贴放到$mainrow数组里----------------------------$connect_id=mysql_connect("localhost","test","test") or die("无法连接数据库"); mysql_select_db("bbs") or die("无法选择数据库");$query="select * from bbsrow where bbsrow_parentid=''";$result=mysql_query($query,$connect_id);$i=0;while($myrow=mysql_fetch_row($result)) {$mainrow[$i][0]=$myrow[0];$mainrow[$i][1]=$myrow[1];$mainrow[$i][2]=$myrow[2];$mainrow[$i][3]=$myrow[3];$mainrow[$i][4]=$myrow[4];$i++;}mysql_free_result($result);//----------------------------------------------------------------------//开始构建分页显示------------------------------------------------------if($currentpage!=""){$page=$currentpage;}else{$page=0;}$pagesize=10;//每页显示的首发贴数!$start=$page*$pagesize;$end=$start+$pagesize;if($end>$i) $end=$i;$totalpage=$i/$pagesize;$info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页n";echo $info;if($page>0) $pagestr="上一页";$pagestr=$pagestr . " [第 ";for($i=0;$i<$totalpage;$i++){if($i!=$page){$pagestr=$pagestr . " " . ($i+1) . " ";}else{$pagestr=$pagestr . " " . ($i+1) . " ";}$pagestr=$pagestr . "页]";if($page<$totalpage-1) $pagestr=$pagestr . "下一页n";echo $pagestr;//---------------------------------------------------------------------- //开始分级显示---------------------------------------------------------- echo "n";for($i=$start;$i<$end;$i++){echo "n";echo $mainrow[$i][0];echo $mainrow[$i][1];echo $mainrow[$i][2];echo $mainrow[$i][3];echo $mainrow[$i][4] . "n";//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴if($mainrow[$i][4]!=''){showchildren($mainrow[$i][0]);}}echo "n";//----------------------------------------------------------------------?>。
实用的PHP实例代码20个2篇

实用的PHP实例代码20个2篇PHP是一种广泛应用于Web开发的脚本语言,具有简单、灵活、易学的特点。
它不仅可以用来开发网站,还可以用来编写各种实用的应用程序。
在本文中,我们将为您介绍20个实用的PHP实例代码和使用场景。
第一篇:1-10个实例1. 文件上传文件上传是Web开发中常用的功能之一。
使用PHP,您可以很容易地实现文件上传功能,从而让用户能够向您的网站或应用程序上传文件。
2. 邮件发送PHP提供了发送电子邮件的功能,您可以使用PHP编写代码来发送电子邮件,例如发送注册确认邮件、找回密码邮件等。
3. 图片缩放PHP提供了强大的图像处理功能,您可以使用PHP来缩放图片,为您的网站或应用程序提供更好的用户体验。
4. 数据库连接在许多Web应用程序中,需要与数据库进行交互。
PHP提供了各种数据库连接操作,您可以使用PHP来连接各种类型的数据库,如MySQL、Oracle等。
5. 表单验证表单验证是保证用户输入数据有效和安全的重要环节。
PHP提供了丰富的表单验证函数,您可以使用PHP来验证用户提交的表单数据,例如检查邮箱格式、密码强度等。
6. 分页功能在处理大量数据时,分页功能非常有用。
使用PHP,您可以轻松地实现分页功能,让用户能够浏览和导航数据的不同页面。
7. 登录认证登录认证是保护网站或应用程序安全的重要步骤。
使用PHP,您可以编写代码来实现用户登录认证功能,例如检查用户名和密码是否匹配等。
8. 数据加密在处理敏感信息时,数据加密是非常重要的。
PHP提供了各种数据加密函数,您可以使用PHP来对敏感数据进行加密和解密。
9. 生成验证码验证码是防止机器人和恶意攻击的有效手段。
使用PHP,您可以生成随机验证码,并将其嵌入到表单中,确保只有人类用户能够提交表单。
10. 数据备份定期数据备份是保证数据安全的重要环节。
使用PHP,您可以编写脚本来自动备份数据库,确保数据的安全可靠。
第二篇:11-20个实例11. 数据导出有时候,需要将数据库中的数据导出为Excel、CSV等格式,以方便进行数据分析或其他用途。
php,分页表格代码

竭诚为您提供优质文档/双击可除php,分页表格代码篇一:php分页代码超强悍,php经典分页代码,php分页,php怎么实现分页功能,php分页//连接数据库,获取数据源,修改成你自己的数据库名字就行$link=mysql_connect("localhost","root ","");mysql_select_db("cjcpzc",$link);mysql_query("setnamesutf8");//执行sql查询..把表名修改成你自己的$sql="select*fromcjcpzc_event";$reault=mysql_query($sql);$rows=mysql_num_rows($reault);//分页大小$pagesize=10;//总页数$pagecount=ceil($rows/$pagesize);//控制当前页(如果为空则设置成为首页,否则获得当前页)if($_get["pagenow"]==null){$pagenow=1;}else{$pagenow=$_get["pagenow"];$pagenow=$pagenow+$_get["o"];//对当前页进行相应控制,if($pagenowif($pagenow>=$pagecount){$pagenow=$pagecount;}//根据当前页进行相应计算$left=($pagenow-1)*$pagesize;$right=$left+$pagesize;}$sql="select*fromcjcpzc_eventlimit$left,$right";//e cho$pagecount;//输出sql语句,你现在就可以看到分页效果啦…..echo$sql;>当前:///设置每一页显示的记录数$conn=mysql_connect("localhost","root","");//连接数据库$rs=mysql_query("selectcount(*)fromtb_product",$con n);//取得记录总数$rs$myrow=mysql_fetch_array($rs);$numrows=$myrow[0];//计算总页数$pages=intval($numrows/$pagesize);//判断页数设置if(isset($_get[page])){$page=intval($_get[page]);}else{$page=1;//否则,设置为第一页}三、创建用例用表mytablecreatetablemytable(idintnotnullauto_increment,news_ titlevarchar(50),news_conttext,add_timedatetime,pRimaRyk ey(id))四、完整代码php分页示例$conn=mysql_connect("localhost","root","");//设定每一页显示的记录数$pagesize=10;mysql_select_db("mydata",$conn);//取得记录总数$rs,计算总页数用$rs=mysql_query("selectcount(*)fromtb_product",$con n);$myrow=mysql_fetch_array($rs);$numrows=$myrow[0];//计算总页数$pages=intval($numrows/$pagesize);if($numrows%$pagesize)$pages++;//设置页数if(isset($_get[page])){$page=intval($_get[page]);}else{//设置为第一页$page=1;}//计算记录偏移量$offset=$pagesize*($page-1);//读取指定记录数$rs=mysql_query("select*frommytableorderbyiddesclim it$offset,$pagesize",$conn);if($myrow=mysql_fetch_array($rs)){$i=0;>标题发布时间do{。
Discuz!源代码分析

Discuz!源代码分析系列(1)--./include/common.inc.php第一个文件当然是分析./include/common.inc.php这个文件,这个是Discuz的核心中的核心,基本上每次操作都include到了这个文件,下面就分七段来分析这个文件:Section One://定义PHP一些环境error_reporting(0); //关闭所有错误提示信息,避免把错误信息泄露给用户。
set_magic_quotes_runtime(0);//关闭magic_quotes_runtime; 参见get_magic_quotes_runtime(), magic_quotes_runtime, magic_quote_gpc.//设置Discuz开始的时间$mtime = explode(' ', microtime());$discuz_starttime = $mtime[1] + $mtime[0];//定义一些常量define('SYS_DEBUG', FALSE);define('IN_DISCUZ', TRUE);define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7)); //获得绝对目录//兼容4.1.0以下版本if(PHP_VERSION < '4.1.0') {$_GET = &$HTTP_GET_V ARS;$_POST = &$HTTP_POST_V ARS;$_COOKIE = &$HTTP_COOKIE_V ARS;$_SERVER = &$HTTP_SERVER_V ARS;$_ENV = &$HTTP_ENV_V ARS;$_FILES = &$HTTP_POST_FILES;}这一段基本上就是设置一下错误报告,把magic_quotes这个sick家伙给关了,然后定一个开始的时间,这样我们在论坛底部看到的Process Time就是通过这个开始的时间和一个结束的时间的差来计算的,然后定义一个IN_DISCUZ为真,这个IN_DISCUZ常量的作用就是在其他inc这样的包含文件中防止被非法引用,一旦没有这个常量的话就出现Access Denied 这样的字样然后退出。
Discuz!论坛系统DIY模块模板使用教程

Discuz!论坛系统DIY模块模板使用教程Discuz!论坛系统DIY模块模板使用教程今天为大家讲解一下在使用DIY过程中的一些技巧与方法仔细阅读,受益匪浅一、如何在模块中增加“标题”及“更多”的链接如下图样式方法:通过框架或模块都可以实现上述样式,我们以框架为例,我们在DIY的时候选中要编辑的框架点击编辑如下图所示之后点击标题在弹出的层中可以添加标题及链接,位置选择居左如下图所示同时可以设置标题的颜色及大小接下来增加“更多”的链接点击弹出层的添加新标题按扭如下图所示,会“复制”出一份新的标题你只需修改就可以了把其中的“精彩教程” 改成“更多” ,链接以及字体、颜色都进行修改就可以了,这里的位置一定要选择“居右”完成,这样框架就有了标题及更多,模块的方法同上二、DIY的模块中如何调整链接的颜色如下图样式方法:选中要修改的模块,点击编辑,选择数据如下图所示在弹出层中选择编辑如下图所示在弹出的层中可以对标题进行加粗、斜体、加下划线、修改颜色等操作完成三、如何在现有的模块中添加新的数据选中要添加数据的模块点击编辑--数据如下图所示在弹出的层中选择任意一条数据点击编辑如下图所示点击编辑后在弹出的层中选择从数据源获取此处可以添写帖子ID、文章ID、日志ID、图片ID 来获取数据如下图所示点击获取会填充模块内相应的数据字段(此处的数据字段会根据模块样式的不同有所变化,请注意)完成四、DIY时如何调用外部程序的数据当我们与第三方程序整合后如何在门户、频道、论坛、或可以DIY的区域调用这些第三方程序的数据首先我们可以在需要调用的地方拖一个展示类中的静态模块如下图所示如上图所示选择数据来源为“自定义HTML”一般第三方系统的数据调用都会有输出JS格式的我们把第三方程序提供的JS代码粘贴进HTML代码框就可以了如下图所示完成五、首页多格或首页四格如何DIY出来我们以论坛首页为例(在任何页面都可以)来制作一个首页四格首先在论坛首页拖一个 1:1的框架如下图所示接下来向已拖好的1-1框架的框架里左侧的1 里面拖入一个1:1的框架如下图所示接下来向右侧的1里面也拖入一个1:1的框架如下图所示接下来我们就可以通过拖拽模块到框架中去了此时我们可以去掉框架的标题,同时为每一个模块增加一个标题如下图所示你可以通过不同的模块样式或者CSS来美化这里完成六、如何修改整个模块的链接样式比如下图方法:选中要编辑的模块,点击编辑--样式进行修改如下图所示以上修改针对整个模块完成七、如何修改两个模块或两个框架之间的距离如下图样式选择要编辑的框架或者模块,点击编辑--样式选择外边距,勾选分别设置,在右边距中写入合适的数字就可以了例如10如下图所示完成后的效果如下图样式全方位立体式讲解DIY技巧集锦第二弹一、DIY中TAB框架如果切换点击方式(鼠标点击与鼠标滑过)如下图中的效果如何实现实现方法:拖一个TAB框架到页面中,点编辑,选择标题如下图所示在弹出的窗口中选择切换类型如下图所示。
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码

这篇文章主要给大家介绍了关于thinkphp诸多限制条件下如何getshell的相关资料文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<?phpheader("content-type:text/html;charset=utf-8");define("PerTable",4);if(!defined("PerTable"))exit("程序不能正常运行。
");/*** 基础分表类,存在当数据删除后,原表容量不足的缺陷,* 建议新增可调整各表容量的方法,修改相应表映射关系。
* @author Jiang QQ:312036773* @access public* @version 1.0.0* @copyright .com*/class CarveTable{private $mysqli;private $table;/*** 构造函数* @param String $table* @return void*/function __construct($table){$this->table = $table;$this->mysqli=new mysqli("localhost","root","1006","test");$Utf8Sql="set names utf8;";$this->mysqli->query($Utf8Sql);$initTableSql = "create table if not exists $this->table(`id` tinyint not null auto_increment primary key,`name` char(255) not null);";$this->mysqli->query($initTableSql);$initMapSql = "create table if not exists map_$this->table(`rid` tinyint not null auto_increment primary key,`name` char(255) not null);";$this->mysqli->query($initMapSql);$initMapInsertSql = "insert into map_$this->table (`name`)select '$this->table' from dualwhere not exists(select * from map_$this->tablewhere map_$this-> = '$this->table');";$this->mysqli->query($initMapInsertSql);}/*** 区间定位获取数据* @param Integer $minId 最小ID* @param Integer $maxId 最大ID* @return Array*/function getScopeInfo($minId = 1,$maxId = null){$mapBeginNum = ceil($minId/PerTable);if($maxId != null){$mapEndNum = ceil($maxId/PerTable);$targetTablesResult = $this->mysqli->query("select name from map_$this->tablewhere rid between $mapBeginNum and $mapEndNum");}$targetTablesResult = $this->mysqli->query("select name from map_$this->tablewhere rid >=$mapBeginNum;");while($row = $targetTablesResult->fetch_assoc()){if($maxId != null)$realSql = "select * from {$row['name']} where id between $minId and $maxId;";else$realSql = "select * from {$row['name']} where id>=$minId";$dataSource=$this->mysqli->query($realSql);while($row = $dataSource->fetch_assoc()){$result[] = $row;}}return $result;}/*** 根据Map_表快速定位数据* @param Integer $id* @return Array*/function getInfo($id){$targetTable = ceil($id / PerTable) ;$findTableSql = "select name from map_$this->table where rid=$targetTable";$tableRow = $this->mysqli->query($findTableSql)->fetch_row();$result = $this->mysqli->query("select * from $tableRow[0] where id=$id;")->fetch_assoc();return $result;}/*** 删除某一指定数据* @param Integer $id* @return Boolean*/function delInfo($id){$targetTable = ceil($id / PerTable) ;$findTableSql = "select name from map_$this->table where rid=$targetTable";$tableRow = $this->mysqli->query($findTableSql)->fetch_row();$this->mysqli->query("delete from $tableRow[0] where id=$id;");if($this->mysqli->affected_rows > 0)return true;elsereturn false;}/*** 分表方式增加数据* @param String $post* @return Boolean*/function addData($post){$getTableSql="SELECT table_name FROMinformation_schema.TABLESWHERE table_name like '$this->table%'order by create_time desc limit 0,1";$target_table=$this->mysqli->query($getTableSql)->fetch_row();$getCount = $this->mysqli->query("select count(`id`) from $target_table[0];")->fetch_row();$insertSql = "insert into $target_table[0] (`name`) values ('$post');";if($getCount[0] == PerTable){$newTable = $this->table . "_" . time();$createTableSql = "create table $newTable like $this->table;";$this->mysqli->query($createTableSql);$startId = $this->mysqli->query("select id from $target_table[0] order by id desc limit 0,1;")->fetch_row();$this->mysqli->query("insert into $newTable(`id`,`name`) values($startId[0] + 1,'$post');");$insertMapSql = "insert into map_$this->table (`name`) values ('$newTable');";$this->mysqli->query($insertMapSql);}else$this->mysqli->query($insertSql);if($this->mysqli->affected_rows >0)return true;elsereturn false;}}。