function tree($mulu)
{
$mydir = dir($mulu);
echo "<ul>";
while($file = $mydir->read())
{
if((is_dir("$mulu/$file")) && ($file!==".") && ($file!==".."))
{
echo "<li><font color=red>$file</font></li>";
tree("$mulu/$file");
}else
{
if(($file!==".")&&($file!==".."))
{
echo "<li>$file</li>";
}
}
}
echo "</ul>";
$mydir->close();
}
tree("..");
?>
php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
解决办法:
1.修改php.ini
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
2.在输出时间前添加:date_default_timezone_set("PRC");
即:输入 date_default_timezone_set("PRC"); $d=date("Y-m-d H:i:s"); echo $d; 那么它将显示系统的当前时间.
为了更好地实现SEO功能,为了广大的DEDE爱好者不再大伤脑筋,这两天抽了点时间把此功能弄出来跟大家分享。
以下修改能实现DEDE自定义网页文件名的功能,例如:
zi-ding-yi.html/zidingyi.html/defined-pagename.html/自定义某某某.html 等
(反正你填什么就是什么,除了短横杠连词符号 -,最好别乱填其它特殊符号特别是单、双引号、空格等,以免出错)。
如果你不填自定义文件名,则默认为文章的aid,如:
138.html/65.html 等。
以下皆以文章模型为例作修改。强烈建议初学者在对文件进行修改前备份之。
以下为针对 DEDE V5 的修改:
=====================================================================
1、在 后台 频道管理 -> 修改栏目(或者增加栏目) -> 高级选项 -> 文章命名规则:
把 {typedir}/{Y}{M}/{D}-{aid}.html 修改成 {typedir}/{aa}.html
({aa} 用来接收自定义文件名。因个人不大喜欢年月日之类的,所以把{Y}、{M}、{D}、{aid}等都去掉了,你喜欢的话,自己加上即可)
2、修改数据库表 dede_archives 增加 pagename 字段 varchar 100 (100够用了,如果不够用,自己改大(255之内)即可)
在 后台 -> 功能菜单 -> SQL命令运行器 中输入:
alter table dede_archives add column pagename varchar(100);
按确定执行即可。
3、增加对 {aa} 的处理:
修改文件:include/inc_channel_unit_functions.php
把大约73行的:
$articleRule = str_replace("{cc}",dd2char($m.$d.$aid.$y),$articleRule);
改为:
$articleRule = str_replace("{aa}",GetPagename($aid),$articleRule);
(因为{cc}实在没什么用,扔掉得了)
4、针对上面 GetPagename($aid) 的处理:
修改文件: include/inc_functions.php
在文件最后面 ?> 前加入以下函数:
//获取自定义文件名的函数,检测如果输入了自定义文件名则文件名为所输入的,否则默认为文章的aid
function GetPagename($dd){
$sql = "select pagename from #@__archives where id = '$dd'";
$dsql = new DedeSql(false);
$row = $dsql->GetOne($sql);
$pagename = $row["pagename"];
if($pagename!=""){
$pagename = $pagename;
}else{
$pagename = $dd;
}
return $pagename;
}
5、修改文章添加和修改页面,在里面加入 pagename 的 input
(1)修改文件:dede/templets/article_add.htm
在:
<tr>
<td height="24" class="bline">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="90"> Tag标签:</td>
<td>
<input name="tag" type="text" id="tag" style="width:300px" value="">
(用空格或','分开)
</td>
</tr>
</table>
</td>
</tr>
前加上:
<!-- 自定义文件名开始 -->
<tr>
<td height="24" class="bline">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"> 自定义文件名:</td>
<td width="650"><input name="pagename" type="text" id="pagename" style="width:630px" maxlength="100" /></td>
</tr>
</table>
</td>
</tr>
<!-- 自定义文件名结束 -->
(2)修改文件:dede/templets/article_edit.htm
在:
<tr>
<td height="24" class="bline">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="90"> Tag标签:</td>
<td>
<input name="oldtag" type="hidden" id="oldtag" value="<?php echo $tags; ?>" />
<input name="tag" type="text" id="tag" style="width:300px" value="<?php echo $tags; ?>" />
(用空格或','分开)
</td>
</tr>
</table>
</td>
</tr>
前加上:
<!-- 自定义文件名开始 -->
<tr>
<td height="24" class="bline">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"> 自定义文件名:</td>
<td width="650"><input name="pagename" type="text" id="pagename" style="width:630px" maxlength="100" value="<?php echo $arcRow["pagename"]?>" /></td>
</tr>
</table>
</td>
</tr>
<!-- 自定义文件名结束 -->
6、修改文章添加和修改的处理页面,对 form 里提交的 pagename 进行处理
(1)修改文件: dede/action/article_add_action.php
A、在 $title = cn_substr($title,80); 下面增加一行 $pagename = trim($pagename);
B、在下面增加以下红色部分(看准颜色)。
//加入数据库的SQL语句
//----------------------------------
$inQuery = "INSERT INTO `{$cts['maintable']}`(
ID,typeid,typeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,source,reader,litpic,
pubdate,senddate,arcatt,adminID,memberID,description,keywords,templet,redirecturl,likeid,pagename)
VALUES ('$arcID','$typeid','$typeid2','$sortrank','$iscommend','$ismake','$channelid',
'$arcrank','0','$money','$title','$shorttitle','$color','$writer','$source','$reader','$litpic',
'$pubdate','$senddate','$arcatt','$adminID','0','$description','$keywords','$templet','$redirecturl','$likeid','$pagename');";
(2)修改文件: dede/action/article_eidt_action.php
A、在 $title = cn_substr($title,80); 下面增加一行 $pagename = trim($pagename);
B、在下面增加以下红色部分(看准颜色)。
//更新数据库的SQL语句
//----------------------------------
$inQuery = "
update `{$aTables['maintable']}` set
typeid='$typeid',
typeid2='$typeid2',
sortrank='$sortrank',
redirecturl='$redirecturl',
iscommend='$iscommend',
ismake='$ismake',
arcrank='$arcrank',
money='$money',
title='$title',
color='$color',
writer='$writer',
source='$source',
reader='$reader',
litpic='$litpic',
pubdate='$pubdate',
description='$description',
keywords='$keywords',
templet='$templet',
shorttitle='$shorttitle',
arcatt='$arcatt',
likeid='$likeid',
pagename = '$pagename'
where ID='$ID'; ";
7、测试发文章,生成html,大功告成。
如有疑问请留言。
RewriteCond %{http_host} ^www.luring.cn [NC]
RewriteRule ^(.*)$ http://www.she.vc/$1 [R=301,L]
RewriteCond %{http_host} ^luring.cn [NC]
RewriteRule ^(.*)$ http://www.she.vc/$1 [R=301,L]
luring.cn为你要弃用的米,www.she.vc为需要跳转到的米
就这样子~
本地下载
- 解决局域网共享
QUOTE:
解决局域网共享
开通局域网共享(访问本机无需验证即可进入)
@ ECHO OFF
@ ECHO.
@ ECHO. 说 明
@ ECHO --------------------------------------------------------------------
@ ECHO 本批处理执行后,将作以下一些设置:
@ ECHO 1、允许SAM帐户和共享的匿名枚举(原版系统允许,本系统设为禁用)。
@ ECHO 2、本机帐户若空密码,允许其它机访问本机。
@ ECHO 3、Windows防火墙:允许文件和打印机共享。
@ ECHO 4、共享方式:本地用户以来宾身份验证。
@ ECHO 5、来宾帐户:启用。
@ ECHO.
@ ECHO 采用这种共享方式,其它机访问本机都不用输用户名和密码。举例来说,家庭
@ ECHO 局域网,彼此都是可以信任的,请使用这种方式。
@ ECHO.
@ ECHO 无论采用哪一种共享方式,共享只是方便内部使用,在用路由器上网的场合,
@ ECHO 外网不能访问到您的机,无需担心共享了就会被入侵。您只需记住,单机拨号
@ ECHO 上网时,不要打开共享就可以了。
@ ECHO --------------------------------------------------------------------
PAUSE
regedit /s 开通局域网共享(访问本机无需验证即可进入).reg
net user Guest /active:yes
cls
@ ECHO.
@ ECHO --------------------------------------------------------------------
@ ECHO 操作完成。
@ ECHO 注意:本机要重启后才会生效。
@ ECHO.
@ ECHO 硬盘各分区的默认共享仍未打开。如需要打开,
@ ECHO 请到本目录找到注册表文件,双击导入即可。
@ ECHO --------------------------------------------------------------------
@ ECHO.
@ ECHO 疑难问题补充:
@ ECHO 如果以前的共享方式是“本地用户以自己自己身份验证”时共享了文件夹,
@ ECHO 则现在改为以来宾身份验证后再访问该文件夹,会弹出错误:无法访问,您
@ ECHO 没有权限使用网络资源。解决办法是,把该文件夹原共享属性取消,然后再
@ ECHO 次共享,就行了。
@ ECHO --------------------------------------------------------------------
PAUSE
开通局域网共享(访问本机要填用户名和密码)
@ ECHO OFF
@ ECHO.
@ ECHO. 说 明
@ ECHO --------------------------------------------------------------------
@ ECHO 本批处理执行后,将作以下一些设置:
@ ECHO 1、允许SAM帐户和共享的匿名枚举(原版系统允许,本系统设为禁用)。
@ ECHO 2、本机帐户若空密码,允许其它机访问本机。
@ ECHO 3、Windows防火墙:允许文件和打印机共享。
@ ECHO 4、共享方式:本地用户以自己的身份验证。
@ ECHO 5、来宾帐户:不启用。
@ ECHO.
@ ECHO 采用这种共享方式,访问本机时必须要输入正确的用户名和密码,才能访问。
@ ECHO.
@ ECHO 无论采用哪一种共享方式,共享只是方便内部使用,在用路由器上网的场合,
@ ECHO 外网不能访问到您的机,无需担心共享了就会被入侵。您只需记住,单机拨号
@ ECHO 上网时,不要打开共享就可以了。
@ ECHO --------------------------------------------------------------------
PAUSE
regedit /s 开通局域网共享(访问本机要填用户名和密码).reg
net user Guest /active:no
cls
@ ECHO.
@ ECHO ------------------------------------------------
@ ECHO 操作完成。
@ ECHO 注意:本机要重启后才会生效。
@ ECHO.
@ ECHO 硬盘各分区的默认共享仍未打开。如需要打开,
@ ECHO 请到本目录找到注册表文件,双击导入即可。
@ ECHO -------------------------------------------------------------------
@ ECHO.
@ ECHO 常见疑问:
@ ECHO 如果改后再访问本机,仍不提示输帐号和密码,这是因为其他电脑的帐户
@ ECHO 名称跟本机的一样(比如大家都是administrator),且本机无密码,所以直接
@ ECHO 就进去了。您应该把本机帐户改名,或加密码。未经授权的用户就不能随意
@ ECHO 访问您共享的资源了。
@ ECHO -------------------------------------------------------------------
PAUSE
关闭局域网共享
@ ECHO OFF
@ ECHO.
@ ECHO. 说 明
@ ECHO ----------------------------------------------------------
@ ECHO 本批处理执行后,将作以下一些设置:
@ ECHO 1、不允许SAM帐户和共享的匿名枚举(原版系统默认是允许的)。
@ ECHO 2、本机帐户若空密码,不允许其它机访问本机。
@ ECHO 3、Windows防火墙:不允许文件和打印机共享。
@ ECHO 4、来宾帐户:禁用。
@ ECHO.
@ ECHO 如果您不需要常在局域网内互传文件,可以关闭共享功能以提高
@ ECHO 安全性。尤其是单机拨号上网的用户,更应关闭共享。
@ ECHO ----------------------------------------------------------
PAUSE
regedit /s 关闭局域网共享.reg
net user Guest /active:no
cls
@ ECHO.
@ ECHO ----------------------------------------------------------
@ ECHO 操作完成。
@ ECHO 不必重启,设置已生效。
@ ECHO ----------------------------------------------------------
PAUSE
一些网站怕文章被复制,使用了很多种方法来保护自己的安全,其实现在的技术,已经没有什么能够阻止一个想要COPY你内容的方法了,除非用图片形式能稍微阻止一下,还不如我们大度一些,在复制内容的过程中增加一个自己的版权信息就好了。
以下的方法是在COPY网页内容的时候会在复制后的内容后面增加一段网站的版权信息,代码十分简单,你只要修改那段版权信息代码就可以自己用了!
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>内容</title>
<script language="javascript">
<!--
//容器内图片自缩放函数,当图片超过最大高度或宽度时,按比例缩放到指定高或宽。
function img_init(div_id,width,height)
{
var img_vh=height; //定义最大高度
var img_vw=width; //定义最大宽度
var divn=document.getElementById(div_id);
var imgn=divn.getElementsByTagName("img");
var oldheight,oldwidth;
for (var i=0;i<imgn.length;i++) {
if(imgn[i].height>img_vh || imgn[i].width>img_vw)
{
if(imgn[i].height/img_vh > imgn[i].width/img_vw)
{
oldheight=imgn[i].height;
imgn[i].height=img_vh;
imgn[i].width=imgn[i].width*(img_vh/oldheight);
}
else
{
oldwidth=imgn[i].width;
imgn[i].width=img_vw;
imgn[i].height=imgn[i].height*(img_vw/oldwidth);
}
}
}
}
//onload多处理函数
//multiOnload("twiceFunc('var1')");
//multiOnload(FuncName);
//multiOnloadEx(FuncName, HtmlObj, EveName);
//FuncName是需要附加的代码或函数;HtmlObj是被附件的对象,即HTML标记;EveName是被附加的事件。
//第三个参数EveName可以省略,默认值为onload。
function multiOnload(FuncName)
{
var oldProc = window.onload ? window.onload.toString() : "";
if (oldProc.indexOf("anonymous()") > 0)
{
oldProc = oldProc.substring(oldProc.indexOf("{") + 1, oldProc.lastIndexOf("}")) + "; ";
}
oldProc += FuncName;
window.onload = new Function (oldProc);
}
function multiOnloadEx(FuncName, HtmlObj, EveName)
{
if (EveName == null || EveName == "")
EveName = "onload";
var oldProc;
oldProc = eval("HtmlObj." + EveName + " ? HtmlObj." + EveName + ".toString() : \"\"");
if (oldProc.indexOf("anonymous()") > 0)
{
oldProc = oldProc.substring(oldProc.indexOf("{") + 1, oldProc.lastIndexOf("}")) + "; ";
}
oldProc += FuncName;
eval("HtmlObj." + EveName + " = new Function (oldProc);");
}
multiOnload("img_init('content_text',550,410)"); //执行重设图片尺寸,可以放任意位置运行。
//-->
</script>
</head>
<body>
<div id="content_text">
<p>下面是图片</p>
<p><img src="http://1she.com/logo.jpg" ></p>
</div>
<p> </p>
</body>
</html>
一、开始->运行CMD;
二、进入mysql目录中的bin目录(即mysqldump等命令工具的目录);
三、数据库导出时执行以下命令:
mysqldump -h127.0.0.1 -uroot -proot test > d:\test.sql以上命令的意思是:把在IP127.0.0.1主机上的test数据库备份到d:/test.sql
用户名和密码均是root
四、数据库恢复时执行以下命令:
mysql -h127.0.0.1 -uroot -proot test < d:\test.sql注意恢复前先建立一个空的test数据库
五、其它命令:
(以下命令是在mysql提示符下录入,并且以分号;做结束)
列出所有数据库名称 show databases;
进入(打开)数据库:use 数据库名;
查看该数据库表:show tables;
显示数据表的结构:describe 表名;
别人的,今天想起,随手转了一下,很简单,这里截图说明一下
用phpmyadmin导入库test中后发现,这个库中有UTF8和latin1两种编码,如下图
先把test备份为test1库,在WIN下操作的话就是把:路径\MySQL\data下的test目录备份一下,改名为test1目录
在phpmyadmin中把所有为UTF8的表删除,在命令行中运行
D:\PHPServer\MySQL\bin>mysqldump -uroot -p –quick –compatible=mysql40 –default-character-set=latin1 –extended-insert=FALSE test > d:/zxs.sql
说明一下D:\PHPServer\MySQL\bin是我的安装目录,test为数据库,d:/zzz.sql为生成的数据文件,程序会提示你输入root的用户密码,输入后,等几分钟,zxs.sql就生成好了
通过phpmyadmin建立一个新库,库名:test2 ,采集字符集设定为utf8-general-li
再将刚才生成sql文件导入新数据库
D:\PHPServer\MySQL\bin>mysql -uroot -p –default-character-set=utf8 test2 < d:/zxs.sql
输入root密码,等几分钟,zxs.sql就导入成功了,到这还没完,因为这里只是把latin1编码的转换为utf8了
最后,停止mysql,把test2目录下的所有文件覆盖到我们刚刚备份的test1目录下,这样,test1目录就是我们要得到了转换好了的UTF8数据库了,OK,收工
当然,方法很简单,就是把latin1编码的表单独分离出来转为UTF8后再盖原来的库,这样多种编码也都可以完美的转换,这种情况也非常常见,换主机,升mysql版本等都会出现这种情况的。
第一页:[1][2][……][下一页]
中间页:[上一页][1][2][……][下一页]
最后页:[上一页][1][2][……]
过滤表达式:
{dede:trim}(<P><SPAN class=title1><STRONG><\/p>)?(<p align='center'><b>)(<font color='red'>\[1\]<\/font> )?(<a href='\/51hkj\/Article\/ShowArticle.asp\?ArticleID=284&Page=)[0-9]{1,2}('>)(\[2\]|上一页)(<\/a>)(.)+(>下一页<\/a>)?\/b><\/p>{/dede:trim}
为了说明问题,重新排版,按功能块分断:
{dede:trim}
(<P><SPAN class=title1><STRONG><\/p>)?
(<p align='center'><b>)
(<font color='red'>\[1\]<\/font> )?
(<a href='\/51hkj\/Article\/ShowArticle.asp\?ArticleID=284&Page=)[0-9]{1,2}('>)
(\[2\]|上一页)(<\/a>)
(.)+
(>下一页<\/a>)?<\/b><\/p>
{/dede:trim}
再取掉转义字符“\”,代码如下(当然这不能用了,只是为了看起来更清楚):
{dede:trim}
(<P><SPAN class=title1><STRONG></p>)?
(<p align='center'><b>)
(<font color='red'>[1]</font> )?
(<a href='/51hkj/Article/ShowArticle.asp?ArticleID=284&Page=)[0-9]{1,2}('>)
([2]|上一页)(</a>)
(.)+
(>下一页</a>)?</b></p>
{/dede:trim}
现在逐一解释:用“//”表示
{dede:trim}
//dede标记
(<P><SPAN class=title1><STRONG></p>)?
//匹配括号中的字符串,0个或1个,因为三种页面(第一页、中间页、最后页)有些没有这段代码
(<p align='center'><b>)
//匹配括号中的字符串,必须有这个字串
(<font color='red'>[1]</font> )?
//匹配括号中的字符串,0个或1个,这是第一页出现的字串,注意[1]
(<a href='/51hkj/Article/ShowArticle.asp?ArticleID=284&Page=)[0-9]{1,2}('>)
//匹配一个链接,<a href='……&Page=42'>,[0-9]{1,2}表示1位或2位数字
([2]|上一页)(</a>)
//匹配“[2]”或者“上一页”,第一个链接后面必是这二者之一
//接下来是……
(.)+
//一个任意字串
//任意字串之后,快结束了……
(>下一页</a>)?
//匹配括号中的字符串,0个或1个,只要不是最后一页,就有“下一页”
</b></p>
//分页信息结束的地方,必有“</b></p>”
{/dede:trim}
//dede结束标记




