当前位置: 编程技术>php
本页文章导读:
▪vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
vBulletin HACK ----显示话题大小和打开新窗口于论坛索引页 作者:gogosoft 《显示话题大小》 原因:1.1.4版本中没有此功能,而部分用户会以此作为是否查看话题的参考因素。 优点:只需要增加.........
▪利用递归把多维数组转为一维数组的函数
函数名称:array_multi2single 函数原形:array array_multi2single(array) 实现功能:把一个多维数组的数值存放到一维数组中,不保存Key。 <?php function array_multi2single($array) { static $result_array=arra.........
▪如何在PHP中进行身份认证
<? if(!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm=请输入你的用户名和密码:"); Header("HTTP/1.0 401 Unauthorized"); echo "验证失败,你不能网络资源!"; exit; } else { if ($PHP_AUTH_USER!="username" or $P.........
[1]vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
来源: 互联网 发布时间: 2013-11-30
vBulletin HACK
----显示话题大小和打开新窗口于论坛索引页
作者:gogosoft
《显示话题大小》
原因:1.1.4版本中没有此功能,而部分用户会以此作为是否查看话题的参考因素。
优点:只需要增加几行代码就可以。
缺点:因为每次显示论坛索引页都需要对该页的话题全部计算大小,所以可能会对服务器造成若干的影响。
自评:这是一个小功能,可有可无,实用与否见仁见智。
步骤:
⒈打开 forumdisplay.php ,查找“
if ($announcement=$DB_site->query_first("SELECT announcementid,userid,startdate,title FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1) ORDER BY startdate DESC LIMIT 1")) {
”,在后面加入“
// Hack thread size
$size=0;
$announcements=$DB_site->query("SELECT pagetext FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1)");
while ($announce=$DB_site->fetch_array($announcements)) $size+=strlen($announce[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,查找“
while ($thread=$DB_site->fetch_array($threads)) {
”,在后面加入“
// Hack thread size
$size=0;
$posts=$DB_site->query("SELECT pagetext FROM post WHERE threadid=".$thread[threadid]);
while ($post=$DB_site->fetch_array($posts)) $size+=strlen($post[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,保存退出;
⒉在《控制面板》打开 forumdisplay 模板,查找“
<td align=center><smallfont color="{tableheadtextcolor}"><B>回复</B></smallfont>
</td>
<td align=center><smallfont color="{tableheadtextcolor}"><B>人气</B></smallfont>
</td>
”,在后面加入“
<td align=center><smallfont color="{tableheadtextcolor}"><B>大小</B></smallfont>
</td>
”,查找“
<TD valign="middle" width="100%" colspan="7">
”,替换为“
<TD valign="middle" width="100%" colspan="8">
”保存。打开 forumdisplaybit 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>$replies</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$views</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,打开 forumdisplay_announcement 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>-</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>-</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,保存。完成!
《打开新窗口》
原因:这对于浏览一个经常更新的论坛来说,是很有用的,用户可以很简单地就打开了很多不同话题的窗口。
优点:很简单,只需要改动模板就实现了——好象也不是太属于HACK。:)
缺点:只能对话题的第一页打开新的窗口,而其它页,还是要按住Shift。
步骤:控制面板->模板->编辑,打开 forumdisplaybit ,查找“
<td bgcolor="{firstaltcolor}" width="100%"><normalfont>
$gotonew <A HREF="/blog_article/showthread/threadid/$threadid.html">$threadtitle</a>
”,在 $gotonew 后面或前面($gotonew 是那个“有新帖子”的图标)加入“
<A HREF="/blog_article/showthread/threadid/$threadid.html" target="_blank"><img src="/blog_article/images/newwin.gif" border="0"></a>
”,当然了,你得为这个打开新窗口的连接准备一个小图标,并上载到 images 目录下。完成!
范例:http://gogosoft.oso.com.cn/forum/forumdisplay.php?forumid=4
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
----显示话题大小和打开新窗口于论坛索引页
作者:gogosoft
《显示话题大小》
原因:1.1.4版本中没有此功能,而部分用户会以此作为是否查看话题的参考因素。
优点:只需要增加几行代码就可以。
缺点:因为每次显示论坛索引页都需要对该页的话题全部计算大小,所以可能会对服务器造成若干的影响。
自评:这是一个小功能,可有可无,实用与否见仁见智。
步骤:
⒈打开 forumdisplay.php ,查找“
if ($announcement=$DB_site->query_first("SELECT announcementid,userid,startdate,title FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1) ORDER BY startdate DESC LIMIT 1")) {
”,在后面加入“
// Hack thread size
$size=0;
$announcements=$DB_site->query("SELECT pagetext FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1)");
while ($announce=$DB_site->fetch_array($announcements)) $size+=strlen($announce[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,查找“
while ($thread=$DB_site->fetch_array($threads)) {
”,在后面加入“
// Hack thread size
$size=0;
$posts=$DB_site->query("SELECT pagetext FROM post WHERE threadid=".$thread[threadid]);
while ($post=$DB_site->fetch_array($posts)) $size+=strlen($post[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,保存退出;
⒉在《控制面板》打开 forumdisplay 模板,查找“
<td align=center><smallfont color="{tableheadtextcolor}"><B>回复</B></smallfont>
</td>
<td align=center><smallfont color="{tableheadtextcolor}"><B>人气</B></smallfont>
</td>
”,在后面加入“
<td align=center><smallfont color="{tableheadtextcolor}"><B>大小</B></smallfont>
</td>
”,查找“
<TD valign="middle" width="100%" colspan="7">
”,替换为“
<TD valign="middle" width="100%" colspan="8">
”保存。打开 forumdisplaybit 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>$replies</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$views</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,打开 forumdisplay_announcement 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>-</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>-</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,保存。完成!
《打开新窗口》
原因:这对于浏览一个经常更新的论坛来说,是很有用的,用户可以很简单地就打开了很多不同话题的窗口。
优点:很简单,只需要改动模板就实现了——好象也不是太属于HACK。:)
缺点:只能对话题的第一页打开新的窗口,而其它页,还是要按住Shift。
步骤:控制面板->模板->编辑,打开 forumdisplaybit ,查找“
<td bgcolor="{firstaltcolor}" width="100%"><normalfont>
$gotonew <A HREF="/blog_article/showthread/threadid/$threadid.html">$threadtitle</a>
”,在 $gotonew 后面或前面($gotonew 是那个“有新帖子”的图标)加入“
<A HREF="/blog_article/showthread/threadid/$threadid.html" target="_blank"><img src="/blog_article/images/newwin.gif" border="0"></a>
”,当然了,你得为这个打开新窗口的连接准备一个小图标,并上载到 images 目录下。完成!
范例:http://gogosoft.oso.com.cn/forum/forumdisplay.php?forumid=4
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
[2]利用递归把多维数组转为一维数组的函数
来源: 互联网 发布时间: 2013-11-30
函数名称:array_multi2single
函数原形:array array_multi2single(array)
实现功能:把一个多维数组的数值存放到一维数组中,不保存Key。
<?php
function array_multi2single($array)
{
static $result_array=array();
foreach($array as $value)
{
if(is_array($value))
{
array_multi2single($value);
}
else
$result_array[]=$value;
}
return $result_array;
}
//函数测试部分
$array=array("1"=>array("A","B","C",array("D","E")),"2"=>array("F","G","H","I"));
$array=array_multi2single($array);
echo "<h1>测试结果:</h1>";
foreach($array as $value)
{
echo "<h5>$value</h5>";
echo "<br>";
}
?>
欢迎大家批评指正!
作者Email:fancao0515@0451.com
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
函数原形:array array_multi2single(array)
实现功能:把一个多维数组的数值存放到一维数组中,不保存Key。
<?php
function array_multi2single($array)
{
static $result_array=array();
foreach($array as $value)
{
if(is_array($value))
{
array_multi2single($value);
}
else
$result_array[]=$value;
}
return $result_array;
}
//函数测试部分
$array=array("1"=>array("A","B","C",array("D","E")),"2"=>array("F","G","H","I"));
$array=array_multi2single($array);
echo "<h1>测试结果:</h1>";
foreach($array as $value)
{
echo "<h5>$value</h5>";
echo "<br>";
}
?>
欢迎大家批评指正!
作者Email:fancao0515@0451.com
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
[3]如何在PHP中进行身份认证
来源: 互联网 发布时间: 2013-11-30
<?
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=请输入你的用户名和密码:");
Header("HTTP/1.0 401 Unauthorized");
echo "验证失败,你不能网络资源!";
exit;
}
else
{
if ($PHP_AUTH_USER!="username" or $PHP_AUTH_PW!="password")
{
Header("HTTP/1.0 401 Unauthorized");
echo "验证失败,你不能网络资源!";
exit;
}
}
?>
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=请输入你的用户名和密码:");
Header("HTTP/1.0 401 Unauthorized");
echo "验证失败,你不能网络资源!";
exit;
}
else
{
if ($PHP_AUTH_USER!="username" or $PHP_AUTH_PW!="password")
{
Header("HTTP/1.0 401 Unauthorized");
echo "验证失败,你不能网络资源!";
exit;
}
}
?>
最新技术文章: