WINDOWS下安装程序老提示无法复制文件的解决办法

安装IIS时,总是提示无法复制staxmem.dll,导致无法安装IIS,但在C:\WINDOWS\ServicePackFiles\i386下,有这个文件,不可理解。经过多次尝试终于找到解决办法,步骤是:

(1) 开始 > 运行    > 输入 CMD >再输入以下命令:

esentutl /p %windir%/security/database/secedit.sdb

(2) 接着屏幕上会输出如下信息:

Microsoft(R) Windows(R) Database Utilities

Version 5.2

Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating INTEGRITY mode…

Database: L:\WINDOWS\security\database\secedit.sdb

Temp. Database: TEMPINTEG2680.EDB

Checking database integrity.

Scanning Status (% complete)

0 10 20 30 40 50 60 70 80 90 100

|—|—|—|—|—|—|—|—|—|—|

……………………………………………

Integrity check successful.

Operation completed successfully in 0.841 seconds.

 
 
 
 
(3)插入安装盘再试一下,问题解决了。
 

windows2003重装iis6.0的时候出现“安装程序无法复制文件文件IISApp.vbs”等
 
重装的时候遇到“安装程序无法复制文件IISApp.vbs”等一系列错误

这就是典型的windows安全数据库出问题了,可以这样来做

在开始–运行,输入:esentutl /g C:\Windows\security\database\secedit.sdb

这个是检查资料库的完整性,要用/g

若要用如下指令:
输入:esentutl /p C:\Windows\security\database\secedit.sdb

这个就是修复这个Windows安全资料库,

参考文章\

Windows安全资料库,在%WinDir%\Security\database里。
台湾的资料库,大陆称为数据库。 在Windows作业系统里带有专门的Esentutl.exe工具,这是一个DOS工具,可用来查看和修复Windows安全资料库。

比如我有一次在安装IIS的元件时,发生了错误:
************************
复制错误 安装程式无法复制档 iisapp.vbs。 请确认下面指定的位置是正确的,或者更改它并在指定的驱动器中插入 ‘Service Pack 1 CD-ROM’。
当复制来源: C:\Windows\ServicePackFiles\i386 [浏览] [重试] [取消]

************************
这就是由于Windows安全资料库损坏所致。可用Esentutl.exe进行修复。

查看它的用法,用下面指令: esentutl /? 会显示如下提示:
Microsoft(R) Windows(R) Database Utilities Version 5.2 Copyright (C) Microsoft Corporation. All Rights Reserved. DESCRIPTION: Maintenance utilities for Microsoft(R) Windows(R) databases. MODES OF OPERATION: Defragmentation: ESENTUTL /d [options] Recovery: ESENTUTL /r [options] Integrity: ESENTUTL /g [options] Checksum: ESENTUTL /k [options] Repair: ESENTUTL /p [options] File Dump: ESENTUTL /m[mode-modifier] <<<<< Press a key for more help >>>>>
D=Defragmentation, R=Recovery, G=inteGrity, K=checKsum, P=rePair, M=file duMp =>

php中Parse error:解析错误

如何正确理解PHP的错误信息Parse error:
我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的。而 更好地理解错误信息可以大大节省确定并改正错误内容所花费的时间,如何快速的根据提示的错误信息找到出错的地方。

如果在一条语句中声明一个变量,具体方式如下所示:
$variable = "value";
编译器首先求出语句右半部分的值(即等号右边的所有内容)。在一些编程书籍中,将此表示为语句的 RHS (右半部分)。恰恰正是语句的这一部分常常会引发错误。如果使用的语法不正确,就会出现解析错误。

解析错误

Parse error:解析错误,unexpected T_WHILE in c:\program files\apache group\apache\htdocs\script.php on line 19

每次确定了前一错误时,解析错误一个接一个地不断出现。因为PHP在第一个解析错误之后就停止执行脚本,调试并纠正这一系列的错误往往会让人觉得特别厌烦。

而且,解析错误具有很少的信息,几乎不报告错误所在的行号。具体原因就是当出现错误时,编译器判定好几行的语法看起来应该是有效的,直至遇到无效的语法,最可能的情形就是表达式中使用了预定义的字词,例如;

while = 10; // Bad ? while 就是一个预定义字词,不能分配给一个值

预定义的字词包括 while、function等,如果PHP使用 uses to evaluate your code. 您不能使用这些预定义字词来命名变量,而且如果您非要这样做的话,PHP就会报出更多的错误,这是您无法忍受。

关于这个问题,下面的示例可能会对您有所帮助。请仔细阅读一下下面所示的PHP 代码:

<?php
$b = "somevalue"
if($b == "somevalue")
{
echo "Hello world!";
}
?>

错误位于"$b ="一行(在语句的末端缺少分号),所以错误应该是"解析错误:第3行缺少分号"对吧?而不应该依据解析器判定的:

Parse error: parse error, unexpected T_IF in D:\apache
group\apache\htdocs\ereg.php on line 3

在第3行,if() 语句的语法是正确的。线索就是"unexpected T_IF" 部分。出现 "unexpected T_???"错误时,它所表示的含义为:编译器发现在预定义字不应该出现的位置出现。T_IF 代表 if(), T_WHILE 代表 while(), T_FOR 代表 for()等。

值得庆幸的是,一些错误的原因也很简单:
语句没有使用分号(;)结束,比如上面的示例。字符串中缺少引号。

       如果正确地反映了代码的层次结构,错误信息就会变得非常明显。如果没有标明代码的层次结构,那么最后要想查清楚到底忘记了什么也会变得几乎是不可能的。所 以,请记住,一定要标明代码的层次结构。Tab键可以很容易地实现这一点。对后续的开发人员来说,把握代码框架并对其进行修改也会更容易一些。

上下翻滚JS特效代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>建站代码-上下翻滚JS</title>

</head>

<body>
<div id="adsfar" style="background:#FF0000">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td bgcolor="#FFFFFF">11111111111111111</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">22222222222222222</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">33333333333333333</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">44444444444444444444444444</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">55555555555555555555555</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">66666666666666666666666666666</td>
    </tr>
</table>
</div>
<script type="text/javascript">
marque(400,28,"adsfar")
var scrollId;
var stopscroll;
var stoptime;
var preTop;
var leftElem;
var currentTop;
var marqueesHeight;
function marque(width,height,marqueId,marqueTagName){
   try{
      marqueesHeight = height;
      stopscroll     = false;

      scrollId = document.getElementById(marqueId);
      with(scrollId){
       style.width     = width + "px";
       style.height    = marqueesHeight + "px";
       style.overflow = ‘hidden’;
       noWrap          = true;
      }

      scrollId.onmouseover = new Function(‘stopscroll = true’);
      scrollId.onmouseout = new Function(‘stopscroll = false’);

      preTop     = 0;
      currentTop = 0;
      stoptime   = 0;
      alert( scrollId.scrollHeight);
      if(height < scrollId.scrollHeight){
          leftElem = document.getElementById(marqueId);
          //alert(leftElem.cloneNode(true));
          scrollId.appendChild(leftElem.cloneNode(true)); //cloneNode(true) 如果这个布尔参数设置为 true,被克隆的节点会复制原始节点的所有子节点。
           
          init_srolltext();
      }
   }catch(e) {}
}

function init_srolltext(){
scrollId.scrollTop = 0;
setInterval(‘scrollUp()’, 18);
}

function scrollUp(){
if(stopscroll) return;
currentTop += 1;
if(currentTop == marqueesHeight+1) {
    stoptime += 1;
    currentTop -= 1;
    if(stoptime == (marqueesHeight)*1) {//??
      currentTop = 0;
      stoptime = 0;
    }
}else{

    preTop = scrollId.scrollTop;    //网页被卷去的高
   //alert(preTop);
    scrollId.scrollTop += 1;
    if(preTop == scrollId.scrollTop){
      scrollId.scrollTop = marqueesHeight;
      scrollId.scrollTop += 1;
    }
}
}
</script>

</body>
</html>

让Windows系统每天自动备份MySql数据库

这几天一直都在研究服务器配置,总结出来的一些经验和,很有实际作用的资料会陆续发布:)
让你的服务器每天早上自动备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件. 分享如下.
1. 环境: windows server 2003 + IIS6.0 + PHP5 + MySQL 5.0.37
2. 假设 PHP 安装目录为 D:\php5 ,MySQL 安装目录为 D:\mysql
3. 在 D:\php5 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:\php5\WinRAR
4. D:\php5 下建立文件 mysql_backup.php:
 

引用
//数据库备份保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = ‘D:\databse_backup’;
//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username = "用户名";
$db_password = "密码";
$time=time();
$nowdir = "$store_folder\\".date("Ymd",$time)."";
if(file_exists("$nowdir.rar")) die("File exists.\r\n");
@mkdir($nowdir);
mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();

$command = ”;
while($result=mysql_fetch_array($query)){
   $command .= dirname(__FILE__).’\..\mysql\bin\mysqldump –opt ‘."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir\\$result[Database].sql \r\n";
   $command .= "echo dumping database `$result[Database]`… \r\n";
}
   $command .= "echo Winrar loading…\r\n";
$command .= dirname(__FILE__)."\\WinRAR\\WinRAR.exe a -ep1 -r -o+ -m5 -df \"$nowdir.rar\" \"$nowdir\" \r\n";
$command .= "echo OK!\r\n";
$command .= "del mysqldumping_temp.bat\r\n";
$fp = fopen(‘mysqldumping_temp.bat’,’w’);
fwrite($fp,$command);
fclose($fp);

//删除 5 天前的文件
@unlink("$store_folder\\".date("Ymd",$time-86400*5).".rar");
?>

5. D:\php5 下建立文件 mysql_autobackup.bat,内容为:
 

引用
php.exe mysql_backup.php
if exist mysqldumping_temp.bat call mysqldumping_temp.bat

6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划.
7. 把 D:\php5\mysql_autobackup.bat 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,可以把时间定在早上 8 点整.
 

WIN 2008下关闭休眠状态

Windows Server 2008和VISTA一样在系统盘下有个hiberfil.sys文件,此文件的大小和物理内存大小相当,平时根本用不上休眠功能,所以想为系统减下肥,关闭休眠即可。

1、禁用方法如下:按Win+R键打开“运行”窗口,输入“powercfg -h off”,按回车即可。

2、电源选项->更改计划设置->使计算机进入休眠状态 选择从不。然后进行清理c盘文件 选择hiberfil.sys 点选清理,即可把休眠文件清理掉,可节约和你物理内存相同大小的空间。

live的邮局支持pop3和smtp配置方法

配置方法如下:

接收邮件 POP 服务器 : pop3.live.com 995
是否需要SSL: 是
用户名: 完整的Windows Live ID,
您的完整 企业邮局电子邮件地址,包含@your_domain.com
密码: 登录Hotmail或者企业邮局的用户密码。
发送邮件 SMTP 服务器 : smtp.live.com 25
是否需要验证: 是
是否需要TLS/SSL: 是

去掉IE8加速器按钮及使IE8支持支付宝

去掉IE8加速器按钮:
打开IE8–工具–Internet选项–高级 在设置里找到"在选择时显示加速器按钮"把勾去掉,如图:

使IE8支持支付宝:
打开IE8–工具–Internet选项–高级 在设置里找到"启用内存保护帮助减少联机攻击"(如果启用内存保护帮助减少联机攻击是灰色,则先把UAC关闭)把勾去掉点击确定,如图:
 

 

诺基亚暗码大全

暗 码       用 途        备 注

*#06#      查询IMEI号码     所有手机通用

*#7370#     格式化手机      Series 60手机专用

*#7780#     恢复出厂设置     Series 60和Series 40手机通用

*#0000#     查询当前软件版本号  所有手机通用

*#7760#     查询生产线号码    Series 40手机专用

*#2820#     查询蓝牙设备地址   Series 60和Series 40手机通用

*3370#      激活EFR       部分型号的手机可用

#3370#      关闭EFR       部分型号的手机可用

*4720#      激活HFR       部分型号的手机可用

#4720#      关闭HFR       部分型号的手机可用

*#92702689#   查询总通话时间    仅限6630

*#92702689#   进入数据模式     Series 40手机专用

*#7370925538#  为手机上锁      Series 60手机专用

一、*#06#:显示IMEI码

二、*#0000#:显示软件版本

  (部分型号如果不起作用,可按*#型号代码#,如*#6110#)

  第一行–软件版本;

  第二行–软件发布日期;

  第三行–手机型号

三、*#92702689#:显示序列号和IMEI码,带滚动菜单

  第一屏表示 – 手机出厂时间:1197(月月年年);

  第二屏表示 – 串号和IMEI;

  第三屏表示 – 购买时间:1197(月月年年)可以更改一次

  (但一经输入就不能再作更改,日期会被永久记录)

  第四屏表示 – 最后修理时间:0000(月月年年)维修时设置。

  第五屏表示 – 传输用户数据:退出关闭电话,然后返回。

  如果以上工作不正常,并且电话要求您输入一个合法的代码,可试试:

  1).6232(OK):显示制造的月和年

  2).7832(OK):显示手机购买时间的月和年

  3).7332(OK):显示最近维修时间的月和年:0000(月月年年)维修时设置

  4).9268(OK):显示系列号
  5).37832(OK):设置购买时间的月和年(警告:只允许做一次)

  6).87267(OK):确认传输,与软件更新有关

四、速率编码

  *3370#或*efr#:开启(EFR)全速率编码

  #3370#或#efr#:关闭全速率编码

  (开启全速增强型编码模式,可改善话音质量但会耗电)

  *4720#或*hra0#:开启(HR)半速率编码

  #4720#或#hra0#:关闭半速率编码

  (话音质量降低,但可延长电池大概30%左右使用时间,需网络支持)

  键入这些代码后,会关机重开,然后才能生效。

五、SIM卡锁信息

  *#746025625# (= *#sim0clock#):如果SIM卡能被锁,进行检测时键入该指令后,手机显示\"SIM CLOCK STOP ALLOWED\" or \"SIM CLOCK STOP NOT ALLOWED\",这取决于你的SIM卡。

  SIM卡锁信息:包括四种不同的锁

  1).国家锁–锁指定的国家

  2).网络锁–锁指定的网络

  3).供应商锁–锁服务提供商

  4).SIM卡锁–锁指定的SIM卡

六、电源按键

  轻触电源键,屏幕将显示情景模式的选单,你可以通过上下键快速地在各个模式中切换。在键盘锁模式下打开屏幕灯,你曾感受过在夜晚摸黑想打开手机的键盘锁的烦恼吗?其实你可以轻触电源键,这时屏幕和键盘的夜灯将会打开,这样你就可以从容地分辨按键打开键盘锁了。

七、查询手机是否锁频

  首先必须找出设定手机时必须使用的几个键。其中,连续按*键二次即出现\"+\";连续按*键三次即出现\"p\";连续按*键四次即出现\"w\"。然后,你就可以依次顺序输入相应组合键。

  #pw+1234567890+1#:查询是否锁国家码

  #pw+1234567890+2#:查询是否锁网络码

  #pw+1234567890+3#:查询是否锁网络提供者锁定的码

  #pw+1234567890+4#:查询是否锁SIM卡

 

八、查看手机状态

  操作指令:#pw+(mastercode)+X#

  (mastercode)是一10位数(没有括号) X是一个1到4的数, 它显示以上的锁,还不确定何数对应何锁。

  SIM卡不限制信息,意味着你的电话还没锁。

  1).VIN CHARGER INPUT VOLTAGE 8.4V 0.8A
2).CHRG CTRL CHARGER CONTROL PWM 32Khz

  3).XMIC MIC INPUT 60mV – 1V

  4).SGND SIGNAL GROUND

  5).XEAR EAR OUTPUT 80mV – 1V

  6).MBUS 9600 B/S

  7).FBUS_RX 9.6 – 230.4 KB/S

  8).FBUS_TX 9.6 – 230.4 KB/S

  9).L_GND CHARGER / LOGIC GND

  

九、NOKIA 9000/9000i

  1).显示IMEI号:*#06#

  2).显示软件版本号:*#682371158412125# 最新版本在电话信息下面

  3).显示制造星期和年: *#3283#

  4).电话类型: GE8

十、5110锁码机解码

  操作步骤:按C,按下 -> 按C不放 -> 按*不放 ->按*不放 ->

  键入04*PIN*PIN*PIN#,就完成了。

十一、更换当前号码

按住#键不放约一秒钟,屏幕会出现
“交换号码?” ,按确认后屏幕上方会出现一个2字,这时手机不能拨出但能接听来电。取消重操作一次,利用它可达到锁机的效果。在非来电时进入来电菜单,持续按住功能键两秒,将进入来电菜单,而这个菜单平时只是会在有电话打入时才会出现的。

十二、6110在待机画面显示名字

  选择一个最不常使用的操作模式,通常是寻呼机 Menu3-5,将个人化选择Menu3-5-2设定完后,重新命名Menu3-5-3为自己的名字,启动后即可。备注:若要恢复为寻呼机,重新命名Menu3-5-3为空白即可。

 

和文字并排的图片绝对居中!

我们在做网页的时候, 会遇到一个图片和文字位置对不齐的问题.
虽然解决的办法有很多.比如. 
用table来控制图片和文字居中对齐 (这样会因为一个小图片写多很多代码) 
使用图片的Align属性 设置为align="absmiddle" (但是要知道,标准的W3C中定义的img标签是不支持Align属性的)
以上的方法都不是解决问题最好的办法.后来我无意中发现可以用CSS来解决这个问题.一个关键的属性: margin-bottom 通过修改图片的外边框的底部高度就可以让文字移动上来. 做法是把这个值设置为负数.例如我们把下面的16X15的图片设置它的style="margin-bottom:-3px" 这样文字和图片就居中了. 这个值随着图片的大小不同而改变,具体的大家测试一下就知道了.