日记分类:天天向上

360流量监控绿色版(手动提取方法)

360的流量监控蛮好用的,可是不想用它累赘的所有功能,网上也有绿色版的360流量监控,可是担心被植入危险代码,所以还是自己手动提取吧。
我们也不做什么修改,直接提取360流量监控所需的文件即可。
打开360安装后的目录
提取
config目录中的defaultskin目录所有文件以及360Safe.xml和config.xml Continue

Flash动画适应任何分辨率网页显示的几种方法

早上起来做网站的时候发现一个问题,我的网站广告条是有固定宽和高的,再说一般网站肯定都是这样的,我想插入的flash广告是固定的,直接从产品官网上直接引用的,过来后发现显示保持了原有的比例,虽然原始比例看着和舒服,但是旁边留出的空白太多了,于是乎搜索了下,看有没有完美的解决办法,顺便把网上一般的解决办法罗列一下,做个备忘。

1.thisin的办法在flash中写: Continue

创建SQL全文索引

1.
————-开启全文索引创建全文索引目录
exec sp_fulltext_database ‘enable’
–exec sp_fulltext_catalog ‘gf_ft’,'drop’
exec sp_fulltext_catalog ‘gf_ft’,'create’
————-为news表创建全文索引 可索引列为 title,abstract,text
exec sp_fulltext_table ‘product’,'create’,'gf_ft’,'pk_product’
exec sp_fulltext_column ‘product’,'productname’,'add’
————-激活索引

Continue

常用的页面载入提示效果

<form name=loading>
<P align=center> </P>
<P align=center> 感谢新老朋友的支持,闲人网络升级了。</P>
<P align=center> </P>
<P align=center><FONT face=Arial color=#0066ff size=2>已经完成:</FONT>   
Continue

几招让你的网站免受采集之苦

如今的采集系统是一个比一个NB,站长们辛苦收集制作的网站内容总是很快出现在在另一个网站上,一个网站轻易的就被复制了又复制。有办法既不影响搜索引擎的正常收入又能解决网站被采集之苦么?答案是肯定的。

     最常用的防采集方法: Continue

不用设置iis .net 实现urlrewrite

说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用
12345.aspx替换
show.aspx?id=12345这样的地址访问

程序要调整的部分只有两块。 Continue

SQL SERVER 数据转换成MS MYSQL

前几天,朋友说他们的数据库一直用的是SQL2005,现在要转换到MYSQL,自己做了很久,也请了很多朋友做,结果转过去都是乱码,叫我帮看看。
    我在网上找了几天,找了几种方法,现列出如下:
    1.下个MYSQL的ODBC的驱动,用SQL2005导出数据的时候直接导入先前建立好的MYSQL ODBC里面。
    2.用MYSQL官方提供的MySQL Migration Toolkit做直接转换
    3.用程序,但这种方式好象不能导数据结构。

    用MYSQL的ODBC方式 到出来的数据库表的冲突很大,所以很早放弃。
    用MySQL Migration Toolkit 方式做碰到中文乱码,也是朋友之前碰到过的问题,在网上搜了很久,按照他们的方式做一直都连不上SQL2005数据库,要么就是乱吗,最后自己想了很久,做了实验,终于给解决了,解决方式就是先把SQL2005用OBDC方式转换成Access数据库,再用MySQL Migration Toolkit把Access转换到MYSQL这样就可以搞定了。当然,这种方法也是可以互逆的。下边就具体说下过程。(图片就不截取了,看看应该就会的)

1.下载安装MySQL的ODBC接口(官网下载http://dev.mysql.com/downloads/connector/odbc/)。
2.打开控制面板-管理,数据源,建立MySQL的DSN,建系统DSN,这里命名testMySQL,填写IP(如127.0.0.1),dababase,用户名口令等项,完成。
3.在SQL7的MMC企业管理器中,选择数据库,导出数据库。
4.开始DTS Export Wizerd:选择目的数据库
是否使用NT认证和用户名口令看您自己的了。最后选择一个Database,如:mynews(您自己要导到MySQL中的数据库)。
5.Choose a Destination:选MySQL:
User/System DSN,假如建立过就选择,假如没有建立就新建。
6.Specify Table Copy or Query:Copy table(s) from the source database,从源数据库拷贝表开始
7.Select Source Table:选择要拷贝的表,假如不想仔细调整,就选择全部吧。
8.Run immediately,当然要立即执行,下一步再选完成,就开始转换。
接下来就等着导出成功!
这个转换有时一部分表可能要失败,双击失败的表格,看看什么原因,一般是SQLserver的数据类型问题,作一些小的修改就应该能够了。
 

PHP安装十大经典问题

1. unix/windows: 我的php.ini 文件应该放在哪?unix下默认它应该放在 /usr/local/lib 目录下。这是它的 /lib. 很多人会在编译时改变它,使用–with-config-file-path 标志。 例如, 你可以这样设它: –with-config-file-path=/etc

然后你可以复制源程序包里的 php.ini-dist 到 /etc/php.ini ,编辑它满足你的本地化需求。

 windows下 php.ini默认的路径是 windows 系统目录. 如果你在使用 apache webserver, php.ini 则最先在 apaches 安装目录下被查找, 例如: c:program filesapache groupapache. 这样你可以有不同的 php.ini 对应不同版本的 apache(同一台机器上)。更多细节请查阅 configuration file.

2. unix: 我安装了 php, 但我每次加载一个文档, 会得到下面的消息: ‘document contains no data’! 怎么回事?

这可能是因为你的 php 发生了core-dumping错误。 查找你的服务器错误日志文件,看看是否属于这种情况。然后报告这个错误。如果你知道怎样使用 ‘gdb’,你可以提供一个 backtrace 在你的错误报告里。这将会对开发人员解决这个问题有很大帮助。如果你是在将php作为apache模块使用,那么请按下面的步骤做:

停止 httpd 进程

 gdb httpd
 
 停止 httpd 进程

> run -x -f /path/to/httpd.conf

浏览你刚才出错的 url
 
> run -x -f /path/to/httpd.conf i6>

如果你还有 core dump, gdb 现在会通知你 

打入:

在你的 bug report里应该包含backtrace 。 这些会被发往 http://bugs.php.net/

如果你的脚本使用了正则表达式函数 (ereg() and friends), 你应该确保你编译 php 和 apache 用的是同一个正则表达式包。 在 php 和 apache 1.3.x 这个过程是自动进行的。

3. unix: 我使用 rpms 安装 php , 但apache 不支持 php页面! 怎么办?

假设你安装了 apache 和 php(从 rpm ) , 你需要反注释或者增加一些行在你的 http.conf 文件里: # extra modulesaddmodule mod_php.caddmodule mod_php3.caddmodule mod_perl.c# extra modulesloadmodule php_module modules/mod_php.soloadmodule php3_module modules/libphp3.so /* for php 3 */loadmodule php4_module modules/libphp4.so /* for php 4 */loadmodule perl_module modules/libperl.so

and add: addtype application/x-httpd-php3 .php3 /* for php 3 */addtype application/x-httpd-php .php /* for php 4 */

到全局域里, 或者到你想要的 支持php的虚拟域里。

 4. 我使用 rpms 安装 php 3 , 但是它没有我需要的数据库选项支持! 我该怎么办?
 
因为 php 3 内建支持的关系, 编译一个完整的可适于所有应用的 php rpm是相当困难的。 在 php 4有谈到这点。 对 php 3, 我们只好建议你使用install.redhat (在 php包里)描述的机制。 如果你一定要使用 rpm 版的 php 3, 读… rpm 包管理器设置 rpms 简单的安装,不带数据库支持 and 因为rpms 使用 /usr/ 而不是标准的 /usr/local/ 目录存放文件. 你需要告诉 rpm 文件你要支持哪种数据库以及它们的最上级目录的位置。

下面的例子将解释在apache模式下怎样支持通行的数据库mysql.

当然所有的这些可以稍作修改,以支持其它的php支持的数据库。我们假设你安装了 mysql and apache ,完全是用 rpms 安装的。 
首先,移去 mod_php3 : rpm -e mod_php3 4 *88r:<P? 

然后取得rpm包并安装, 不是 –重编译 rpm -uvh mod_php3-3.0.5-2.src.rpm =%/

编辑/usr/src/redhat/specs/mod_php3.spec 文件
在 %build 一节里增加你想要的数据库支持, 以及路径信息。
对 mysql 你应该增加: –with-mysql=/usr

%build 节看起来象: ./configure –prefix=/usr –with-apxs=/usr/sbin/apxs –with-config-file-path=/usr/lib –enable-debug=no –enable-safe-mode –with-exec-dir=/usr/bin –with-mysql=/usr –with-system-regex w o!t"iYOU 

改动完成后,象下面这样重编rpm : rpm -bb /usr/src/redhat/specs/mod_php3.spec ,

then install the rpm rpm -ivh /usr/src/redhat/rpms/i386/mod_php3-3.0.5-2.i386.rpm A?

重启 apache,你已经得到了rpm下的mysql的支持。 注意到这种做法比你重新得到一个 php 3 的tarball 代码,按照 install.redhat 的指引一步一步做要容易得多。

5. unix: 我用 frontpage 扩展包对apache打了补丁, 忽然 php 停止工作。 是php 和 apache frontpage 包不兼容吗 ?

不是, php 和 frontpage扩展包运行得很好.。问题是frontpage 包修改了几个apache 结构参数,而php要用到它们.在frontpage扩展包被打上后, 重新编译 php (使用 ‘make clean ; make’) ,会解决这个问题。

6. unix/windows: 我安装了php,但在浏览器里看我的php页面时,空白一片。

在浏览器里用’查看源文件’看你的脚本,你可能会发现你看到的是源程序。这表示 web server 并没有送脚本到php去执行。肯定是服务器配置上哪儿出了错。 仔细检查php安装的 server 配置。

7. unix/windows: 我安装了php,但在浏览器里看我的 php页面时,我得到一个 server 500 error。这是服务器在运行 php 时发生了错误。 为了看到可读的错误信息,在命令行,改变目录到 (php.exe windows)所在目录, 运行 php -i. 如果有任何问题,详细的错误信息就显示出来了,它会告诉你下一步该做什么。如果你得到满屏的html代码 (phpinfo() 函数的输出), 那么php工作正常,这个错误就是由于服务器配置引发的,应该仔细检查。

8. 某些操作系统: 我安装php没出错,可是我启动apache时,得到一个 undefined symbol errors: [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd undefined symbols: _compress _uncompress

这个问题其实与 php 无关, 而与 mysql 客户端库有关。 –with-zlib,有些操作系统需要,而有些不需要。mysql faq已经讲述了这个问题。

9. windows: 我安装了php,但在浏览器里看我的php页面, 得到如下错误: cgi error: the specified cgi application misbehaved by not returning a complete set of http headers. the headers it did return are: !

这是 php 根本没有产生任何输出。 为了看到可读的错误信息,在命令行,改变目录到 (php.exe windows)所在目录, 运行 php -i. 如果有任何问题,详细的错误信息就显示出来了,它会告诉你下一步该做什么。 如果你得到满屏的html代码 (phpinfo() 函数的输出), 那么php工作正常。

一旦php在命令行模式下工作,再看看你的脚本程序, 它还是失败,可能是因为以下原因:

你的php脚本的权限许可。 php.exe, php4ts.dll, php.ini 或者任何你可能装入的php文件,它样都必须能被匿名 internet 用户 isur_ 访问。

脚本文件根本不存在(或者不是你认为的位置。)请注意在iis里,你能够阻塞这个错误,做法是在设置脚本映射目录时, 选上’check file exists’框。这样如果脚本不存在,服务器会返回一个404错误。 这样做也有其它的一些好处, 就是iis仅为你做经过授权的操作。

10. windows: 我严格按照install的要求做,可是还是不能让我的php在iis下工作。

确定任何想要运行php的用户有操作php.exe的权限! iis 使用匿名的internet用户,它是在iis安装时系统自动增加的。这个用户需要操作 php.exe的权限. 还有,任何需要授权的用户也必须有访问 php.exe的权限。 在 iis4下,你要告诉它php是一个脚本引擎。?

安装后,就可以开始学PHP了。入门学习,可以看看《PHP网络编程从入门到精通》《零基础学PHP》。入门后,可以看看《PHP+MYSQL经典案例剖析》和《完全手册:PHP网络开发详解》。在Linux开发,可以看看《LAMP网站开发黄金组合 LINUX+APACHE+MYSQL+PHP》。

linux下SQLSERVER odbc配置

 
一 测试环境
操作系统 Red Hat

数据库     SQLServer2000 installed in windows xp professional,我假定数据库有用户autotest 密码是autotest,数据库文件是atsdb
          注意:   

1 MS从来没有提供过SQLServer for Linux,所以大家也不要去尝试在Linux系统安装SQLServer,但是可以通过ODBC连接Windows系统的SQLServer数据库;
2 安装的SQLServer2000是不会打开1433端口的,所以请Windows xp 用户在安装完SQLServer之后一定装上SQLServer SP3布丁,可以使用命令netstat -a 来查看是否打开1433端口
3 对于windows xp,缺省防火墙是不让1433端口来通讯的,所以必须关掉windows的防火墙,这个问题折腾我一天,老是连接不成功,我还以为是odbc软件的配置问题,教训呀。最可气的是在别的windows机器使用sqlserver的命令isql能够访问数据库,(不用关闭防火墙)。通过抓包工具发现根本就不通过1433端口通讯,而是通过445或139内部端口通讯呀,真要命呀,看来windowns东西是好,但是也太霸道了呀
4 在xp sp2安装sqlserver2000时必须要打chs_sql2ksp3.exe补丁,如果没有这个补丁,telnet ip 1433会连接不了,当然从远程客户端连接不上,就这个问题折腾一个下午,晕呀
Linux系统的ODBC
               unixODBC-2.2.8.tar.gz ( http://www.unixodbc.org)
连接SQLServer或Sybase的驱动
              freetds-0.62.4.tar.gz ( http://www.freetds.org)
二 安装配置(必须在root下用户安装)
1、安装unixODBC
# tar vxzf unixODBC-2.2.8.tar.gz
# cd unixODBC-2.2.8
# ./configure –prefix=/usr/local/unixODBC
# make
# make install
2、安装freetds
# tar vxzf freetds-0.62.4.tar.gz
# cd freetds-0.62.4
# ./configure –prefix=/usr/local/freetds –with-unixodbc=/usr/local/unixODBC –with-tdsver=8.0
# make
# make install
3、配置freetds
# cd /usr/local/freetds
# vi etc/freetds.conf
修改以下的一段,并把;去掉
改好之后的内容:
[global]
        # TDS protocol version
        tds version = 8.0
[SQLServer2000]
        host = 192.168.1.110
        port = 1433
        tds version = 8.0
        client charset = ISO-8859-1
其中的[SQLServer2000]代表在客户端使用的服务器名称(在tsql命令中要加入 -S SQLServer2000),host代表SQLServer服务器的IP地址,port代表端口.client charset 是客户端使用的字符集,我的机器使用utf-8会报连接失败的错误,发现tsql使用ISO-8859-1字符集可以连接成功,所以这儿也改成这样
测试连接:
$ tsql -S SQLServer2000 -U autotest -P autotest
locale is "en_US"
locale charset is "ISO-8859-1"
Msg 2403, Level 16, State 0, Server OpenClient, Line 0
WARNING! Some character(s) could not be converted into client"s character set. Unconverted bytes were changed to question marks ("?").
1> use atsdb
2> go
1> select * from auth_function
2> go
FUNC_ID NAME    ENGLISH_NAME    PARENT_ID       IS_LOG NOTES
1>
这说明安装freetds成功
4、配置unixODBC

# cd /usr/local/unixODBC
向ODBC添加SQLServer驱动
# vi etc/odbcinst.ini
写入如下内容:
[ODBC]
Trace           = Yes
TraceFile       = /tmp/sql.log
ForceTrace      = Yes
Pooling         = No
[SQLSERVER]
Description     = SQLSERVER
Driver          = /usr/local/freetds/lib/libtdsodbc.so
Setup           = /usr/local/freetds/lib/libtds.so
UsageCount      = 1
CPTimeout       = 5
CPReuse         = 5
FileUsage       = 1
保存退出
添加DSN
# vi etc/odbc.ini
写入如下内容
[ATSDB]
Driver          = SQLSERVER 
Description     = SQLSERVER
Server          = 192.168.1.110
Database        = atsdb
Port            = 1433
注意Driver驱动要写odbcinst.ini中的驱动名称,Database是数据库的名称
保存并退出。
测试ODBC的连接
# bin/isql -v ATSDB autotest autotest
SQL>
SQL> quit

兼容IE和火狐的文本换行的css样式

本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同word-break的区别。

兼容 IE 和 FF 的换行 CSS 推荐样式

最好的方式是
word-wrap:break-word; overflow:hidden;
而不是
word-wrap:break-word; word-break:break-all;
也不是
word-wrap:break-word; overflow:auto;

IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容。

word-wrap同word-break的区别

word-wrap:
normal   Default. Content exceeds the boundaries of its container.
break-word Content wraps to next line, and a word-break occurs when necessary. 必要时会触发word-break。

word-break:
normal   Default. Allows line breaking within words. 好像是只对Asian text起作用。
break-all Behaves the same as normal for Asian text, yet allows the line to break arbitrarily for non-Asian text. This value is suited to Asian text that contains some excerpts of non-Asian text.
keep-all Does not allow word breaking for Chinese, Japanese, and Korean. Functions the same way as normal for all non-Asian languages. This value is optimized for text that includes small amounts of Chinese, Japanese, or Korean.

总结如下:
word-wrap是控制换行的。
使用break-word时,是将强制换行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。

break-word是控制是否断词的。
normal是默认情况,英文单词不被拆开。
break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。
keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)

ie下:
使用word-wrap:break-word;所有的都正常。

ff下:
如这2个都不用的话,中文不会出任何问题。英文语句也不会出问题。但是,长串英文会出问题。
为了解决长串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式会导致,普通的英文语句中的单词会被断开(ie下也是)。

目前主要的问题存在于 长串英文 和 英文单词被断开。其实长串英文就是一个比较长的单词而已。
即英文单词应不应该被断开那?那问题很明显了,显然不应该被断开了。
对于长串英文,就是恶意的东西,自然不用去管了。但是,也要想些办法,不让它把容器撑大。
用:overflow:auto; ie下,长串会自动折行。ff下,长串会被遮盖。

所以,综上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。
word-wrap:break-word;overflow:auto;在ie下没有任何问题。在ff下,长串会被遮住部分内容。

另,测试代码如下:

1.htm===================================================================

<style>
.c1{ width:300px;   border:1px solid red}
.c2{ width:300px;word-wrap:break-word;   border:1px solid yellow}
.c3{ width:300px;word-wrap:break-word;word-break:break-all;   border:1px solid green}
.c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
.c5{ width:300px;word-break:break-all;   border:1px solid black}
.c6{ width:300px;word-break:keep-all;   border:1px solid red}
.c7{ width:300px;word-wrap:break-word;overflow:auto;   border:1px solid yellow}
</style>

.c1{ width:300px;   border:1px solid red}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c2{ width:300px;word-wrap:break-word; border:1px solid yellow}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c3{ width:300px;word-wrap:break-word;word-break:break-all;   border:1px solid green}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c5{ width:300px;word-break:break-all;   border:1px solid black}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c6{ width:300px;word-break:keep-all;   border:1px solid red}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

<br>
.c7{ width:300px;word-wrap:break-word;overflow:auto;   border:1px solid yellow}
<div safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
</div>
<div This is all English. This is all English. This is all English.
</div>
<div 全是中文的情况。全是中文的情况。全是中文的情况。
</div>
<div 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
</div>

 
 

第 1 页,共 4 页1234