月度归档:2009 年10月

图片不存在,用默认图片替换的JS

1.这个是对于单个图片,如果没有图片就替换。

<img src="" border="0" onload="javascript:DrawImage(this);" onerror="changeImg()" />
<script language="javascript" type="text/javascript">
function changeImg()
{
    var newErrorImgUrl = "/images/error.gif";
    event.srcElement.src = newErrorImgUrl;
    event.srcElement.alt = "";
}
</script>

 

方法二

<img src="pro-pic/123.gif" onerror="javascript:this.src=’pro-pic/default.gif’" />

2.下面那个 是对于整个页面当图标访问错误的时候 替换默认的

 

<body>
    <img src="1.jpg" />
    <img src="2.jpg" />
    <img src="3.jpg" />
    <img src="4.jpg" />
</body>
</html>
<script type="text/javascript">
        var imgs = document.images;
        for(var i = 0;i < imgs.length;i++){
            imgs[i].onerror = function(){
                this.src = "/images/logo.gif";
            }
        }
</script>

单行向上轮番滚动的JS代码

<script>
var marqueeContent=new Array();   //滚动新闻
marqueeContent[0]='<a href=# target=_blank class="f12red">小泉称若自民党在议会选举中失败</a><br>’;
marqueeContent[1]='<a href=# target=_blank class="f12red">布什发表广播讲话</a><br>’;
marqueeContent[2]='<a href=# target=_blank class="f12red">伊斯兰武装炸毁印控克什米尔铁路导致列车出轨</a><br>’;
marqueeContent[3]='<a href=# target=_blank class="f12red">布雷默:即使抓住了萨达姆也难以结束抵抗行动</a><br>’;
var marqueeInterval=new Array();  //定义一些常用而且要经常用到的变量
var marqueeId=0;
var marqueeDelay=2000;
var marqueeHeight=20;
//接下来的是定义一些要使用到的函数
function initMarquee() {
    var str=marqueeContent[0];
    document.write(‘<div id=marqueeBox style="overflow:hidden;height:’+marqueeHeight+’px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\’startMarquee()\’,marqueeDelay)"><div>’+str+'</div></div>’);
    marqueeId++;
    marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
    }
function startMarquee() {
    var str=marqueeContent[marqueeId];
        marqueeId++;
    if(marqueeId>=marqueeContent.length) marqueeId=0;
    if(marqueeBox.childNodes.length==1) {
        var nextLine=document.createElement(‘DIV’);
        nextLine.innerHTML=str;
        marqueeBox.appendChild(nextLine);
        }
    else {
        marqueeBox.childNodes[0].innerHTML=str;
        marqueeBox.appendChild(marqueeBox.childNodes[0]);
        marqueeBox.scrollTop=0;
        }
    clearInterval(marqueeInterval[1]);
    marqueeInterval[1]=setInterval("scrollMarquee()",20);
    }
function scrollMarquee() {
    marqueeBox.scrollTop++;
    if(marqueeBox.scrollTop%marqueeHeight==(marqueeHeight-1)){
        clearInterval(marqueeInterval[1]);
        }
    }
initMarquee();
</script>

ICEMAT鼠标垫

 1.ICEMAT鼠标垫的手感特点

一直以来,ICEMAT系列鼠标垫最被人津津乐道的就是它的手感。而各种评论中,最为核心的话题,就是ICEMAT手感的全面性,也就是理论上的完美手感。众所周知,FPS类游戏在鼠标和鼠标垫的使用以及搭配上,普遍带有明显的个人倾向性,不同的人有不同的喜好和习惯。很难有一款产品被公认为最佳,这其中包括实际的使用(个体倾向性最集中的体现)和理论上两方面。而ICEAMT虽然在实际的使用方面因个体倾向性的原因未达到完美的高度,但是在理论上,它却实实在在的接近了完美(与目前所有产品相比)。也许很多人会问,这样一款理论上接近完美的产品为何没有独霸市场呢? 不要着急,后面关于ICEMAT缺点的描述中大家会找到答案。下面我们就来看看ICEMAT的手感究竟完美在什么地方:

A.细腻 ICEMAT表面带有无数极为细腻的磨沙颗粒,正是这成千上万的颗粒组成了ICEMAT特有的纹理,而如果计算表面纹理颗粒的数量,那么ICEMAT毫无疑问是其中的冠军。一般来说,鼠标移动中垫脚与鼠标垫表面接触的点越多,移动手感就越细腻。这是由于无数凸起的颗粒所组成的磨沙表现先天就具有摩擦感上的优势,无论是触摸还是作为滑动表面都是这样。因此越是细的磨沙表面鼠标移动时的舒适感觉就越强,手感也就越细腻。

B.滑度 由于本身材质的关系,ICEMAT在滑度方面非常理想。使用过程中,鼠标的移动极为平滑流畅。不过虽然ICEMAT本身的滑度很高,但同时它又不是像塑料鼠标垫那种滑到难以控制,因此可以说它的滑度是一种可控性极强的滑。当然,这种特殊的手感也同样是拜细腻的表面纹理所赐。

C.微操作 微操作在FPS类游戏中一般是指极小范围内鼠标的轻微移动,而非即时战略类游戏中常说的APM。微操作最典型的范例就是CS中远距离的步枪对射,因为双方都在不停的重复:移动-停下-瞄准射击这一系列的动作,而在频繁的瞄准与再瞄准中,鼠标需要不断的在非常小的范围内小幅度移动,这时分布均匀而又数量众多的小颗粒就会为你的鼠标移动提供极为精确的反馈。而这种反馈的精确程度则与单位面积内,颗粒的数量以及滑度成正比。反之,如果单位面积内的颗粒大数量少,那么那就只能带来更高的滑度,而无法提供更细腻的精度。因此,越是细腻的表面越能降低瞬间瞄准的难度。

C.定位 一般来说,定位是指FPS游戏中准星从移动到停止并完成瞄准过程时所体现出的精确度。也就是俗话说的“指哪打哪”。撇开鼠标的性能不提,在鼠标垫的性能表现上,影响定位精度的最主要因素就是滑度过高。如果滑度过高,会使准星从移动到停止的瞄准过程变得困难,这就和滑冰一样。在陆地上移动,

Lost connection to MySQL server during query

一个网站远程连MYSQL数据库,来是出现 Lost connection to server during query 这个问题,经过搜索好久都没解决这个问题,主要是其他同样的程序连接同样的数据库都能正常,但是就一个站不行。后来经过一次次的逐步试验,终于解决问题、。。

[mysqld]项下添加参数:
skip-name-resolve

后来果真好了。

IIS6为iis5方式的隔离模式运行

 使用windows2003中的IIS6有两种模式,一种是按新的权限模式,据说提高了系统的安全性,另一种就是按以前的iis5方式运行,在administrators组用户权限下运行,此种方式比较危险.但如果在内网上使用,配置也比较方便.
由于安装w2k3时缺省是第一种模式,因此修改为第二种模式的步骤如下:

1. 首先确认你的w2k3操作系统安装了asp.net和iis
2. 然后在命令行将aspnet用户添加到administrators组中:
       net localgroup administrators aspnet /add
3. 然后设置IIS的运行模式为iis5的隔离模式, 步骤如下: 
iis.gif
      打开IIS管理器, 展开机器名的节点,然后在"站点"(或Site)上单击右键打开"属性"菜单

IIS6+PHP5+MySQL5安装

一:软件准备:

1. (PHP-5.2.11)

http://cn2.php.net/get/php-5.2.11-Win32.zip/from/a/mirror

php-5.2.11-Win32.zip

 

2. (5.4.2)

http://dev.mysql.com/downloads

mysql-essential-5.4.2-beta-win32.msi

 

3. PHPMyAdmin

phpMyAdmin-3.2.0.1-all-languages.zip

 

 

二:软件安装设置:

 

1. PHP安装:

php-5.2.11-Win32.zip解开压缩之后,放置到C:\public\php-5.2.11-Win32中。

1.1 DLL文件copy:

将C:\public\php-5.2.11-Win32目录下的所有dll文件copy到c:\Windows\system32下.

 

1.2 可执行文件和ini文件的copy:

将C:\public\php-5.2.11-Win32目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows ( Windows 2000 下为 C:\WINNT)下;将C:\Windows\php.ini-dist改名为php.ini.

1.3. 修改PHP ini文件:

使用UltraEdit打开C:\Windows\php.ini

 
register_globals = Off
 

,将 Off 改成 On ;
 
extension_dir =
 

,并将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\public\php-5.2.11-Win32\ext" ;
搜索找到
 
;Windows Extensions
 

将下面列举的

 
;extension=php_dbase.dll
 

可选

 
;extension=php_gd2.dll
 

这个是用来支持GD库的,一般需要,必选

  
;extension=php_ldap.dll
 

可选

 
;extension=php_mbstring.dll
 

这不选一般用PHPMYADMIN会出红色提示,故必选

   
;extension=php_mssql.dll
 

这个是用来支持MSSQL的,可选

   
;extension=php_mysql.dll
 

这个是用来支持MYSQL的,要支持MYSQL必选
将这些前的";"去掉,其他的你需要的也可以去掉前面的;然后关闭保存该文件。
 
 
2. IIS配置:
IIS安装很简单,但要让它支持PHP,则需要做进一步配置。
 
PHP 支持 CGI 和 ISAPI 两种安装模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:
 

 

2.1: 添加ISAPI筛选器:

在“控制面板->性能和维护->管理工具->Internet 信息服务"中选择"默认网站"。停止之。

反键点选"默认网站"->属性->ISAPI筛选器,添加筛选器。

筛选器名称:":PHP"

可执行文件:"C:\public\php-5.2.11-Win32\php5isapi.dll"

Sam: 这里是给IIS指出:遇到PHP,使用php指定的筛选器.

 

2.2: 添加应用程序映射:

反键点选"默认网站"->属性->主目录->配置,添加应用程序映射。

.php和C:\public\php-5.2.11-Win32\php5isapi.dll。

Sam:这里给IIS指出:遇到.php文件,使用何种程序解析之。

 

2.3: 添加文档index.php

反键点选"默认网站"->属性->文档

添加一个index.php.

可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档.

 

2.4. 重新启动IIS:

net stop w3svc
net stop iisadmin
net start w3svc

 

2.5.写index.php.

首先在反键点选"默认网站"->属性->主目录下看本地路径,通常为:C:\Inetpub\wwwroot

则在这个目录中建立:一个index.php,内容如下:

<?php
phpinfo();
?>

 

此时,IIS已经支持PHP。

使用浏览器:http://localhost

 

windows2003目录安全权限设置

分区(C,D,E,F…..)根部 权限

Administrators 完全控制   
System 完全控制

C:\Documents and Settings 目录权限

Administrators 完全控制
System 完全控制

C:\Program Files 目录权限

Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取

C:\windows 目录权限

Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取

C:\windows\system 目录权限

Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取

C:\windows\system32 目录权限

Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取

C:\windows\temp 目录权限

Administrators 完全控制
System 完全控制
Everyone 完全控制

WWWROOT(网站根目录)目录权限

Administrators 完全控制
System 完全控制
Internet来宾账户 读取和运行+列出文件夹目录+读取

PHP目录权限:

Administrators 完全控制
System 完全控制
Everyone 读取和运行+列出文件夹目录+读取

Zend目录权限:

Administrators 完全控制
System 完全控制
Everyone 完全控制

Mysql目录权限:

Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取

c:\inetpub\mailroot

administrators 全部
system 全部
service 全部
c:\inetpub\ftproot
everyone 只读和运行
c:\windows
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
_WPG 读取和运行,列出文件夹目录,读取
Users 读取和运行(此权限最后调整完成后可以取消)

C:\WINDOWS\Microsoft.Net

administrators 全部
Creator owner
不是继承的只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取

C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files

administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 全部

c:\Program Files

Everyone 只有该文件夹
不是继承的
列出文件夹/读数据
administrators 全部
iis_wpg 只有该文件夹
列出文件/读数据
读属性
读扩展属性
读取权限

c:\windows\temp

Administrator 全部权限
System全部权限
users 全部权限

c:\Program Files\Common Files

administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users(如果有这个用户)
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取

c:\Program Files\Dimac(如果有这个目录)

Everyone 读取和运行,列出文件夹目录,读取
administrators 全部

c:\Program Files\ComPlus Applications (如果有)
administrators 全部

c:\Program Files\GflSDK (如果有)

administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
Everyone 读取和运行,列出文件夹目录,读取

c:\Program Files\WindowsUpdate
Creator owner
不是继承的
只有子文件夹及文件
完全
administrators 全部
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部

c:\Program Files\Microsoft SQL(如果SQL安装在这个目录)
administrators 全部
Service 全部
system 全部

C:\\uploadtemp
C:\php\sessiondata
everyone
全部
C:\php\
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行

c:\windows\php.ini

administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行
 

mysql绿色版本 安装方法

1.下载mysql:-noinstall 版本
2.加压缩导任何一个目录,最好目录名称不要有空格;
例如:D:\usr\mysql-5.0.22-win32
3,在mysql-5.0.22-win32
目录下新建一个my.ini,拷贝my-small.ini代码至my.ini;修改后如下:

 1# Example MySQL config file for small systems.
 2#
 3# This is for a system with little memory (<= 64M) where MySQL is only used
 4# from time to time and it’s important that the mysqld daemon
 5# doesn’t use much resources.
 6#
 7# You can copy this file to
 8# /etc/my.cnf to set global options,
 9# mysql-data-dir/my.cnf to set server-specific options (in this
10# installation this directory is /usr/local/var) or
11# ~/.my.cnf to set user-specific options.
12#
13# In this file, you can use all long options that a program supports.
14# If you want to know which options a program supports, run the program
15# with the "–help" option.
16
17# The following options will be passed to all MySQL clients
18[client]
19#password    = your_password
20port        = 3306
21socket        = /tmp/mysql.sock
22#这里是我们增加的内容
23#设置客户端字符集
24default-character-set=gbk
25# Here follows entries for some specific programs
26
27# The MySQL server
28[mysqld]
29port        = 3306
30socket        = /tmp/mysql.sock
31skip-locking
32key_buffer = 16K
33max_allowed_packet = 1M
34table_cache = 4
35sort_buffer_size = 64K
36read_buffer_size = 256K
37read_rnd_buffer_size = 256K
38net_buffer_length = 2K
39thread_stack = 64K
40#这里是我们修改的内容
41basedir=D:\DevelopTools\mysql-5.0.22-win32
42# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx\data 
43datadir=D:\DevelopTools\mysql-5.0.22-win32\data
44# 设置mysql服务器的字符集
45default-character-set=utf8
46
47# Don’t listen on a TCP/IP port at all. This can be a security enhancement,
48# if all processes that need to connect to mysqld run on the same host.
49# All interaction with mysqld must be made via Unix sockets or named pipes.
50# Note that using this option without enabling named pipes on Windows
51# (using the "enable-named-pipe" option) will render mysqld useless!
52
53#skip-networking
54server-id    = 1
55
56# Uncomment the following if you want to log updates
57#log-bin=mysql-bin
58
59# Uncomment the following if you are NOT using BDB tables
60#skip-bdb
61
62# Uncomment the following if you are using InnoDB tables
63#innodb_data_home_dir = /usr/local/var/
64#innodb_data_file_path = ibdata1:10M:autoextend
65#innodb_log_group_home_dir = /usr/local/var/
66#innodb_log_arch_dir = /usr/local/var/
67# You can set .._buffer_pool_size up to 50 – 80 %
68# of RAM but beware of setting memory usage too high
69#innodb_buffer_pool_size = 16M
70#innodb_additional_mem_pool_size = 2M
71# Set .._log_file_size to 25 % of buffer pool size
72#innodb_log_file_size = 5M
73#innodb_log_buffer_size = 8M
74#innodb_flush_log_at_trx_commit = 1
75#innodb_lock_wait_timeout = 50
76
77[mysqldump]
78quick
79max_allowed_packet = 16M
80
81[mysql]
82no-auto-rehash
83# Remove the next comment character if you are not familiar with SQL
84#safe-updates
85
86[isamchk]
87key_buffer = 8M
88sort_buffer_size = 8M
89
90[myisamchk]
91key_buffer = 8M
92sort_buffer_size = 8M
93
94[mysqlhotcopy]
95interactive-timeout
96

4,然后编写启动脚本;

1@echo off
2echo start mysql5 on localhost
3mysqld –install mysql5 –defaults-file=D:\DevelopTools\mysql-5.0.22-win32\my.ini
4net start mysql5
5pause
6
7
8

9

停止脚本

1@echo off
2echo stop mysql5
3
4net stop mysql5
5mysqld –remove mysql5
6
7pause

 

方法二

1、软件的下载

  到mysql的官方网站下载MySQL的解压包,如mysql-noinstall-5.0.51b-win32.zip

  然后将其解压到你希望数据库所在的某个位置,如C:\

  这样在C:盘下面就有了C:\mysql-5.0.51b-win32这样的一个目录,里面就是MySQL数据库的全部

内容。

2、配置

  首先我们来看MySQL的根目录,里面有多个文件名如my-****.ini形式的文件,这就是MySQL配置

的样例文件,你可以选取其中一个,将其名字改为my.ini,MySQL启动的时候就是读取这个my.ini文

件来决定数据库的各项参数。

  在my.ini文件中需要进行配置的主要是两个方面,一个是客户端,一个是服务器端。

  * 客户端配置

  # CLIENT SECTION
#—————————————————–
[client]
port = 3306

[mysql]
default-character-set = gbk

  需要配置的主要是两项,一个是客户端端口,一个是默认的字符集(gbk就是设置成了中文),这

里端口选用默认的3306,字符集可以根据需要修改为UTF-8或GBK。

  * 服务器端配置

#SERVER SECTION
#—————————————————–
[mysqld]
port = 3306

basedir= "C:/mysql-5.0.51b-win32"

datadir= "C:/mysql-5.0.51b-win32/Data"

Server="c:/mysql-5.0.51b-win32/bin/mysqld-nt.exe"

default-character-set = gbk

default-storage-engine = INNODB

max_connections = 100

max_allowed_packet = 16M

这里主要的是端口port,数据库安装目录(也就是我们解压的目录)basedir,数据库中数据

的存储路径(也就是你将来建立的Database和Table存放的位置)datadir。

其次就是字符集的设置,最大连接数的设置等,实际的设置项要根据开发与使用的需要,参

考解压目录中的几个样例文件进行取舍配置。

3、启动Mysql数据库

  * 可以在Windows环境变量的path中先加入C:\mysql-5.0.51b-win32\bin这项,这样我们就可以

在命令行中直接使用mysql的各项命令了

  * 进入命令行窗口,运行c:\mysqld-nt,这是查看Windows任务管理器,发现进程中多出来一个

mysqld-nt.exe,这说明数据库已经成功的启动的了。

  * 此外,我们可以把数据库注册成一个服务,随着系统的启动而启动,具体命令如下:

    c:\mysqld-nt -install

   运行上面的命令后,就会在系统服务中注册了一个名字为MySQL,启动来性为Automatic的服务

,这个服务默认情况下是自动启动的。

   可以通过命令行的防止停止或启动,如:

    c:\net start MySQL启动)
    c:\net stop MySQL(停止)
    c:\mysqld-nt –remove MySQL(卸载服务)

4、使用MySQL数据库

  * 由于我们在环境变量的path中加入了MySQL安装目录下的bin这项,所以可以直接使用MySQL命

令。

  * 配置好上面信息并启动MySQL以后,默认的用户名root,密码为空,所以我们可以使用一下命

令登陆数据库:
  
   c:\mysql -uroot -hlocalhost

   回车以后会看到如下命令行状态:

   mysql>

   这说明已经成功登陆了MySQL数据库。

   如果想为root用户加上密码,可以退出数据库mysql>quit,然后使用如下命令设置root用户的

密码:

   c:\mysqladmin -uroot password 123456

   这样就将root用户的密码修改为123456了,再次登陆数据库是就要用如下代码:

   c:\mysql -uroot -p123456 -hlocalhost

   至此,MySQL5数据库的配置就完成了,可以通过客户端或是程序来使用这个数据库了。

5、总结

  MySQL提供了Install和NotInstall两种文件包的下载和安装方式,Install方式使用起来更为直

观和方便,而notInstall方式则能让你更加的了解MySQL数据库基本配置内容,所以各有利弊。从个

人角度来看,还是比较推荐notIntall的方式来使用Mhysql数据库,这样可以为在不同的平台下使用

MySQL奠定一个良好的基础。