每间隔3小时启动php去执行makescore.php程序:
0 */3 * * * /usr/local/php/bin/php /usr/local/tads/htdocs/*/src/cron/makescore.php
crontab格式:
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是crontab的格式:
分 时 日 月 星期 要运行的命令
这里有crontab文件条目的一些例子:
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启apache
* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启apache
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache
crontab命令:
crontab查看,编辑,重启,停止,开始
crontab -[l,e] service crond [restart,stop,start]
值得注意的地方,crontab里定时调用命令时,命令如果不在crontab的classpath里,要带全路径。
比如mysql应该写为 /usr/local/mysql/bin/mysql

经常开发php程序,老是找不到php的文件,于是否,想加入path,又看不到.bash_profile文件,只好建立这个文件,输入如下内容:
vi /root/.bash_profile
TERM=xterm
LANG=en_US.UTF-8
export PATH=$PATH
alias vi='vim'
alias ll='ls -lh'
alias la='ls -al'
alias ls='ls -GF'
alias chtdoc='cd /data0/htdocs'
alias cphp='cd /usr/local/webserver/php'
alias cmysql='cd /usr/local/webserver/mysql'
alias capache='cd /usr/local/webserver/apache'
Jackxiang:/root # source .bash_profile
修改加入PHP的路径:
其实不止这些:
1、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已经设好,可用命令export查看:
[root@localhost bin]# export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="zh_CN.GB18030"
declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD="/opt/au1200_rm/build_tools"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"
declare -x PWD="/opt/au1200_rm/build_tools/bin"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_AUTH_SOCK="/tmp/ssh-XX3LKWhz/agent.4242"
declare -x SSH_CLIENT="10.3.37.152 2236 22"
declare -x SSH_CONNECTION="10.3.37.152 2236 10.3.37.186 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="linux"
declare -x USER="root"
declare -x USERNAME="root"
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。
2、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
# echo $PATH
看看输出里面是不是已经有了/my_new_path这个路径了。
vi /root/.bash_profile
TERM=xterm
LANG=en_US.UTF-8
export PATH=$PATH
alias vi='vim'
alias ll='ls -lh'
alias la='ls -al'
alias ls='ls -GF'
alias chtdoc='cd /data0/htdocs'
alias cphp='cd /usr/local/webserver/php'
alias cmysql='cd /usr/local/webserver/mysql'
alias capache='cd /usr/local/webserver/apache'
Jackxiang:/root # source .bash_profile
修改加入PHP的路径:
其实不止这些:
1、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已经设好,可用命令export查看:
[root@localhost bin]# export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="zh_CN.GB18030"
declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD="/opt/au1200_rm/build_tools"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"
declare -x PWD="/opt/au1200_rm/build_tools/bin"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_AUTH_SOCK="/tmp/ssh-XX3LKWhz/agent.4242"
declare -x SSH_CLIENT="10.3.37.152 2236 22"
declare -x SSH_CONNECTION="10.3.37.152 2236 10.3.37.186 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="linux"
declare -x USER="root"
declare -x USERNAME="root"
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。
2、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
# echo $PATH
看看输出里面是不是已经有了/my_new_path这个路径了。
在mysql中涉及到编码是最让人头疼的。
编写update.txt (注意:utf8的编码要存为utf8的txt格式,当然你也可以命名后缀改为:update.sql etc)
然后,发现php程序读出来发现是乱码。
查看mysql编码:
mysql> show variables like '%char%';
mysql> show variables like '%char%';
+--------------------------+----------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-max-5.0.27-linux-i686-glibc23/share/mysql/charsets/ |
+--------------------------+----------------------------------------------------------------------+
8 rows in set (0.00 sec)
原来是:
| character_set_server | latin1 |
不是utf-8:
于是:需要,set names 'utf8';
mysql> set names "utf8";
Query OK, 0 rows affected (0.00 sec)
mysql> source /root/update.txt
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql>
在php中显示中文正常,哈哈哈!
编写update.txt (注意:utf8的编码要存为utf8的txt格式,当然你也可以命名后缀改为:update.sql etc)
source的sql包含中文(位置在/root/update.txt):
update Tbl_User set FAddr="四川内江东兴区平安路148号E栋8号" where FQQ="348813422";
update Tbl_User set FAddr="四川内江东兴区平安路148号E栋8号" where FQQ="348813422";
mysql> use DB_****_2nd;
Database changed
mysql> source /root/update.txt
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
Database changed
mysql> source /root/update.txt
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
然后,发现php程序读出来发现是乱码。
查看mysql编码:
mysql> show variables like '%char%';
mysql> show variables like '%char%';
+--------------------------+----------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-max-5.0.27-linux-i686-glibc23/share/mysql/charsets/ |
+--------------------------+----------------------------------------------------------------------+
8 rows in set (0.00 sec)
原来是:
| character_set_server | latin1 |
不是utf-8:
于是:需要,set names 'utf8';
mysql> set names "utf8";
Query OK, 0 rows affected (0.00 sec)
mysql> source /root/update.txt
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql>
在php中显示中文正常,哈哈哈!
缘起:
REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
依赖主键或索引Mysql能够实现快速的判断,使用REPLACE,需要同时拥有表的INSERT和DELETE权限。
注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
添加唯一索引如下,实践成功:
多次replace插入实现修改唯一settingName所对应的值:
多次插入不同的温度值,的确是Ok的:
id 自增编号 settingName 变量名称 settingValue 变量数值 updatedTimes 修改次数
8 settingTempValue 40.7 8388607
正文:
讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。
在 SQL Server 中可以这样处理:
if not exists (select 1 from t where id = 1)
insert into t(id, update_time) values(1, getdate())
else
update t set update_time = getdate() where id = 1
那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace into
replace into t(id, update_time) values(1, now());
或
replace into t(id, update_time) select 1, now();
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
MySQL replace into 有三种形式:
1. replace into tbl_name(col_name, ...) values(...)
2. replace into tbl_name(col_name, ...) select ...
3. replace into tbl_name set col_name=value, ...
前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。
REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
依赖主键或索引Mysql能够实现快速的判断,使用REPLACE,需要同时拥有表的INSERT和DELETE权限。
注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
添加唯一索引如下,实践成功:
多次replace插入实现修改唯一settingName所对应的值:
多次插入不同的温度值,的确是Ok的:
id 自增编号 settingName 变量名称 settingValue 变量数值 updatedTimes 修改次数
8 settingTempValue 40.7 8388607
正文:
讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。
在 SQL Server 中可以这样处理:
if not exists (select 1 from t where id = 1)
insert into t(id, update_time) values(1, getdate())
else
update t set update_time = getdate() where id = 1
那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace into
replace into t(id, update_time) values(1, now());
或
replace into t(id, update_time) select 1, now();
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
MySQL replace into 有三种形式:
1. replace into tbl_name(col_name, ...) values(...)
2. replace into tbl_name(col_name, ...) select ...
3. replace into tbl_name set col_name=value, ...
前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。
我身边我认为的好男人基本上都是单身,很多都还没谈过恋爱。另外我熟悉的人中,很多人品好,工作优秀,被大家公认为的好男人的妻子却很一般。经过和朋友的交流和自己的分析,我得出了中国好男人娶不到好女人的几点原因。
首先我要说一下我眼中的好男人具有的一些品质:待人好,诚信,重情义;有进取心,有胸怀,事业心强;负责任,重承诺,有爱心。
现在我发现正是因为他们具有这些品质而导致了他们娶不到好女人,我也体会到了大家常说的一些话的深刻道理。
阅读全文
首先我要说一下我眼中的好男人具有的一些品质:待人好,诚信,重情义;有进取心,有胸怀,事业心强;负责任,重承诺,有爱心。
现在我发现正是因为他们具有这些品质而导致了他们娶不到好女人,我也体会到了大家常说的一些话的深刻道理。

The Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验,总结了 10 个良好习惯,个人认为真的很受用,现摘要如下与大家分享。
1. 建立层级目录:使用 mkdir 的 -p 选项,如 mkdir -p tmp/a/b/c。
2. 解包到指定的目录:使用 tar 的 -C 选项,如 tar xvf newarc.tar.gz -C tmp/a/b/c。
3. 联合命令:使用 ;、&&、|| 等控制运算符,如 cd tmp/a/b/c && tar xvf ~/archive.tar。
4. 小心使用变量:把变量放到 “” 中,如
~ $ ls tmp/
a b
~ $ VAR="tmp/*"
~ $ echo $VAR
tmp/a tmp/b
~ $ echo "$VAR"
tmp/*
~ $ echo $VARa
~ $ echo "$VARa"
~ $ echo "${VAR}a"
tmp/*a
~ $ echo ${VAR}a
tmp/a
~ $
5. 长命令的输入:使用 \ 分行折断,如
~ $ cd tmp/a/b/c || \
> mkdir -p tmp/a/b/c && \
> tar xvf -C tmp/a/b/c ~/archive.tar
6. 分组命令:使用 ()、{} 来分组命令,如
~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) \
> | mailx admin -S "Archive contents"
7. 使用 xargs:可以过滤输出,如
~/tmp $ ls -l | xargs
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 \
root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 \
16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 \
joe joe 3239 Sep 30 12:40 mkdirhier.sh
~/tmp $
8. 使用 grep 的 -c 选项可以计算输出的行数,它比使用管道的 wc -l 更快,如
~ $ time grep and tmp/a/longfile.txt | wc -l
2811
real 0m0.097s
user 0m0.006s
sys 0m0.032s
~ $ time grep -c and tmp/a/longfile.txt
2811
real 0m0.013s
user 0m0.006s
sys 0m0.005s
~ $
9. 匹配输出的字段:使用 awk,如
~/tmp $ ls -l | awk '$6 == "Dec"'
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
~/tmp $
10. 停用 cat 的管道输出:可用 grep 代替,如
~ $ time cat tmp/a/longfile.txt | grep and
2811
real 0m0.015s
user 0m0.003s
sys 0m0.013s
~ $ time grep and tmp/a/longfile.txt
2811
real 0m0.010s
user 0m0.006s
sys 0m0.004s
~ $
export
例如:
export $HOME=$HOME:YOUR_DIR
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。
如用户想增加一目录到PATH中,操作如下:
1.vim .bashrc增加sbin目录到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH
2.source到环境变量中
$source
3.查验
set|grep PATH 或env|grep PATH 或 export|grep PATH
这个set 和export很重要:
set env export区别
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。
如用户想增加一目录到PATH中,操作如下:
1.vim .bashrc增加sbin目录到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH
2.source到环境变量中
$source
3.查验
set|grep PATH 或env|grep PATH 或 export|grep PATH
.bashrc和.bash_profile区别
.bash_profile会用在login shell
.bashrc 使用在interactive non-login shell
Bash下每个用户都可以配置两个初始文件:.bash_profile和.bashrc。man bash中的相关解
释如下:
,------------------------------------------------------------
| ~/.bash_profile
| The personal initialization file, executed for login shells
| ~/.bashrc
| The individual per-interactive-shell startup file
`------------------------------------------------------------
* 每次bash作为login shell启动时会执行.bash_profile。
* 每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc
** 注意
1, 在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是
interactive shell。
2, bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell,
但它不是普通的shell。
* 一般.bash_profile里都会调用.bashrc
尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。
.bashrc 使用在interactive non-login shell。意思是你每次运行一个bash脚本的话,.bashrc就会被执行一次。有个简单的方法,你在.bash_profile和.bashrc里都用echo打印点什么东西。你就可以看到着两个文件都是什么时候被执行的了.
显示环境变量HOME
$ echo $HOME
设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo $HELLO
使用env命令显示所有的环境变量
$ env
使用set命令显示所有本地定义的Shell变量
$ set
还可以使用export设置
如:
#export DISPLAY=127.0.0.1:0.0
编辑/etc/profile修改全局环境变量
编辑.bash_profile修改当前用户的环境变量
例如:
export $HOME=$HOME:YOUR_DIR
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。
如用户想增加一目录到PATH中,操作如下:
1.vim .bashrc增加sbin目录到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH
2.source到环境变量中
$source
3.查验
set|grep PATH 或env|grep PATH 或 export|grep PATH
这个set 和export很重要:
set env export区别
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。
如用户想增加一目录到PATH中,操作如下:
1.vim .bashrc增加sbin目录到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH
2.source到环境变量中
$source
3.查验
set|grep PATH 或env|grep PATH 或 export|grep PATH
.bashrc和.bash_profile区别
.bash_profile会用在login shell
.bashrc 使用在interactive non-login shell
Bash下每个用户都可以配置两个初始文件:.bash_profile和.bashrc。man bash中的相关解
释如下:
,------------------------------------------------------------
| ~/.bash_profile
| The personal initialization file, executed for login shells
| ~/.bashrc
| The individual per-interactive-shell startup file
`------------------------------------------------------------
* 每次bash作为login shell启动时会执行.bash_profile。
* 每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc
** 注意
1, 在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是
interactive shell。
2, bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell,
但它不是普通的shell。
* 一般.bash_profile里都会调用.bashrc
尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。
.bashrc 使用在interactive non-login shell。意思是你每次运行一个bash脚本的话,.bashrc就会被执行一次。有个简单的方法,你在.bash_profile和.bashrc里都用echo打印点什么东西。你就可以看到着两个文件都是什么时候被执行的了.
显示环境变量HOME
$ echo $HOME
设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo $HELLO
使用env命令显示所有的环境变量
$ env
使用set命令显示所有本地定义的Shell变量
$ set
还可以使用export设置
如:
#export DISPLAY=127.0.0.1:0.0
编辑/etc/profile修改全局环境变量
编辑.bash_profile修改当前用户的环境变量
pHP是一种新型的CGI程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux平台的Web后台程序, 内置了对文件上传、密码认证、Cookies操作、邮件收发、动态GIF生成等功能,PHP 直接为很多数据库提供原本的连接,包括Oracle、Sybase、Postgres、Mysql、Informix、Dbase、Solid、 Access等,完全支持ODBC接口,用户更换平台时,无需变换PHP代码,可即拿即用.
阅读全文

今天发现httpwacher出现aborted,查了下:
he result column in HttpWatch may sometimes display the value (Aborted) instead of an HTTP status code:
(Aborted)
(Aborted) is one of three pseudo status codes that are used in HttpWatch to display information about HTTP requests that did not receive a status code from the server:
* (Aborted)
* (Cache)
* ERROR_*
阅读全文
he result column in HttpWatch may sometimes display the value (Aborted) instead of an HTTP status code:
(Aborted)
(Aborted) is one of three pseudo status codes that are used in HttpWatch to display information about HTTP requests that did not receive a status code from the server:
* (Aborted)
* (Cache)
* ERROR_*

经过仔细考虑,我认为数据库导入乱码问题不只跟数据库编码不仅与数据库默认编码有问题。因此,参照网上资料得出以下解决方案:
1、确定数据库默认编码,比如编码为gbk,将读入途径编码同样设为gbk,命令为:
set names gbk;
2、source d:/20080613.sql 导入数据。验证数据库中的数据是否存在乱码。
3、如果仍然存在乱码问题,这时候就要考虑改变导入文件的编码,试着导入,直至没有乱码出现。
网页数据存入乱码问题依照以上方法同样可以解决。可将网页编码改为与数据库相同的编码。问题自然解决。
另外,在windows中文件路径 d:\ftptemp\test.sql 应写成 d:/ftptemp/test.sql
我再加一句:在set names gbk前看一下:
show variables like '%char%';
1、确定数据库默认编码,比如编码为gbk,将读入途径编码同样设为gbk,命令为:
set names gbk;
2、source d:/20080613.sql 导入数据。验证数据库中的数据是否存在乱码。
3、如果仍然存在乱码问题,这时候就要考虑改变导入文件的编码,试着导入,直至没有乱码出现。
网页数据存入乱码问题依照以上方法同样可以解决。可将网页编码改为与数据库相同的编码。问题自然解决。
另外,在windows中文件路径 d:\ftptemp\test.sql 应写成 d:/ftptemp/test.sql
我再加一句:在set names gbk前看一下:
show variables like '%char%';
1 .create database test default charset GBK
2.修改MYSQL数据库编码,如果是MYSQL数据库编码不正确: 可以在MYSQL执行如下命令: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin (这个命令就是将MYSQL的test数据库的编码设为utf8)
3.ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin (这个命令用来修改MYSQL表的编码)
以上命令就是将一个表category的编码改为utf8
4.修改字段的编码:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是将MYSQL数据库test表中 dd的字段编码改为utf8
2.修改MYSQL数据库编码,如果是MYSQL数据库编码不正确: 可以在MYSQL执行如下命令: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin (这个命令就是将MYSQL的test数据库的编码设为utf8)
3.ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin (这个命令用来修改MYSQL表的编码)
以上命令就是将一个表category的编码改为utf8
4.修改字段的编码:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是将MYSQL数据库test表中 dd的字段编码改为utf8
将一个form放到td中时,form的高度老是比编辑的高度高出一截,将td撑得老高,造成了form下面一段空白,很难看 ,上网一查原来还真有解决办法。
加上<style>
form{margin: 0}
</style>
就ok了
2. 直接写如form中:
<form style='padding:0px;margin:0px;'>
阅读全文
加上<style>
form{margin: 0}
</style>
就ok了
2. 直接写如form中:
<form style='padding:0px;margin:0px;'>

<td width="926" bgcolor="#ffffff">
<table style="color: rgb(166, 31, 36); font-size: 12px;" width="100%%" border="0" cellpadding="0" cellspacing="0">
默认居中,于是在td里面加入 valign="top",在td里面再套table:
<td width="926" bgcolor="#ffffff" valign="top">
<table style="color: rgb(166, 31, 36); font-size: 12px;" width="100%%" border="0" cellpadding="0" cellspacing="0">
默认居中,于是在td里面加入 valign="top",在td里面再套table:
<td width="926" bgcolor="#ffffff" valign="top">
注意:
<table width=100% border="0" cellspacing="0" cellpadding="0">
如果需要5个,然而出现4个,也就按照间隔把那行排满,右边没有空行,而我们需要右边有空行(两个顺序靠左,右边剩余空着),于是得去掉: width="100%" 即可
</table>
如果需要5个,然而出现4个,也就按照间隔把那行排满,右边没有空行,而我们需要右边有空行(两个顺序靠左,右边剩余空着),于是得去掉: width="100%" 即可
</table>
private function getMcConf($type){
$configs=parse_ini_file($this->dbconf,true);
$config=$configs[$type];
$host_port = $config['host'];
$hps=explode(",",$host_port);
foreach($hps as $k){
$ret[]=split(":",$k);
}
return $ret;
}
参数一是字符串类型的参数,要传入的是配置文件的名称。
参数二是布尔类型的参数,要传入的是TRUE(布尔值)或FALSE(布尔值),该参数将会影响到配置文件读进数组后的结果。设置为TRUE会将配置文件中的数据以二维数组的方式建立,设置为FALSE则是使用一维数组。FALSE是默认值。
parse_ini_file 函数会将指定的“配置文件”依照 key 和 value 对应地读曀数组中,并依照第二个参数来决定要建立二维还是一维数组。
如果放在“配置文件”中的value 值包含非英文字母和非数字的字符,则该值要用双引号将它括起来。
在“配置文件”中的key 值,有一些保留字是不能使用的,包含:null、yes、no、true、false。
parse_ini_file 还可以搭配“常数”来使用,只要在调用 parse_ini_file 之前,先将要使用的常数定义好,然后再调用parse_ini_file ,则PHP就会将常数直接替换到数组的数据中。
提示:在“配置文件”中也是可以写“注释”,配置文件中的注释是用分号来开关的。
注意:如果读者使用建立一维数组的方式,则要注意“配置文件”中的key值名称不能重复,否则后面的数据会覆盖掉前面的数据,请读者注意。
Definition and Usage
定义和用法
The floor() function returns the value of a number rounded DOWNWARDS to the nearest integer.
floor()函数的作用是:通过舍去法取整(即:返回的值必须是小于等于给定数值的最大整数)。
Syntax
语法
floor(x)
Parameter参数 Description描述
x Required. A number
必要参数。指定一个数值对象
Example
案例
In this example we will use the floor() function on different numbers:
下面的案例使用floor ()函数返回了不同数值参数对应的不同结果,注意观察、比较:
echo(floor(0.60) . "
");
echo(floor(0.40) . "
");
echo(floor(5) . "
");
echo(floor(5.1) . "
");
echo(floor(-5.1) . "
");
echo(floor(-5.9))?>
The output of the code above will be:
上述代码将输出下面的结果:
0055-6-6
用来做分页可能有点用。
原文地址:http://www.isstudy.com/phpjc/963.html
定义和用法
The floor() function returns the value of a number rounded DOWNWARDS to the nearest integer.
floor()函数的作用是:通过舍去法取整(即:返回的值必须是小于等于给定数值的最大整数)。
Syntax
语法
floor(x)
Parameter参数 Description描述
x Required. A number
必要参数。指定一个数值对象
Example
案例
In this example we will use the floor() function on different numbers:
下面的案例使用floor ()函数返回了不同数值参数对应的不同结果,注意观察、比较:
echo(floor(0.60) . "
");
echo(floor(0.40) . "
");
echo(floor(5) . "
");
echo(floor(5.1) . "
");
echo(floor(-5.1) . "
");
echo(floor(-5.9))?>
The output of the code above will be:
上述代码将输出下面的结果:
0055-6-6
用来做分页可能有点用。
原文地址:http://www.isstudy.com/phpjc/963.html
也许已经有一部分人早就知道 Festival 这个语音合成软件,也就是所谓的 TTS (text to speech)。不过网上相关的安装资料大同小异,基本上是在 Gentoo 上安装的心得。我发现 Ubuntu 只有 Festival,而没有相关的 speechd 软件。我经过一晚上的探索,终于可以把这个 Festival 玩转起来,而且有了一些比较好的效果,下面共享自己的经验出来。
1. 安装 基本上 Ubuntu 的库里就有 Festival 软件。 $sudo apt-get install festival
2. 使用 Festival 的基本用法:
* 交互模式: 直接输入 festival 进入它的命令行界面。 $festival festival 〉 (SayText ” hello , festival is coming “) festival 〉 (tts myfile) 第二行是读取 myfile 文件里的内容。
* 命令行模式: $festival –tts myfile 直接读取 myfile 里的内容。 $ echo “hello , festival is coming ” | festival –tts 读取字符串。
3. 配置 Festival 默认用的是 oss,在一些系统会独占音频。这里我们将配置成使用 alsa 发音。 新建文件 ~/.festivalrc , 输入以下内容: (Parameter.set ‘Audio_Command “aplay -q -c 1 -t raw -f s16 -r $SR $FILE”) (Parameter.set ‘Audio_Method ‘Audio_Command) 如果想提高音量,可添加: (set! default_after_synth_hooks (list (lambda (utt) (utt.wave.rescale utt 1.6 t)))) 至此 festival 应该比较好的工作了。在集成声卡中会出现音速过快的问题。LinuxSir 上有一篇关于 Festival 的帖子,其中 wguzgg 网友曾经把网上的方法贴了出来。 我找到了如何将语速恢复正常的方法,原文在这里。主要是集成在主板上的声卡会出现语速过快的问题,解决方式是: 在 /usr/lib/festival/ 目录下创建一个文件 siteinit.scm,内容如下: (Parameter.set ‘Audio_Method ‘Audio_Command) (Parameter.set ‘Audio_Command “sox -t raw -sw -r $SR $FILE -c2 -t ossdsp /dev/dsp”) 这个参数写在 ~/.festivalrc 上也是有效的。不过就和前面我设置用 alsa 发音的设置冲突了。那个 alsa 的设置好像也能把语速减慢一点吧。我这里提供方法。你自己看着选择了。
4. 安装新语音这部分才是我写此文章的重要目的。因为在 Gentoo 的帖子,安装一个新的女声,只需要 emerge mbrola。而在 Ubuntu 的库中并没有收录此包。(也许是我不知道,谁知道告诉我)另一个原因是,默认的美国男声似乎有些含糊不清。所以我找了 mbrola 的女声来安装(注意,不得用于商业用途,他说的)。手动安装 festival mbrola 的信息,原网页。
* 安装 festival voice wrapper (这个咋翻译偶拿不准) 下载 festvox_us1.tar.gz,把它解压到 festival 的安装目录下,Ubuntu 下为 /usr/share/festival。
* 获取 MBROLA 声音文件和它的执行文件 跳到 http://tcts.fpms.ac.be/synthesis/mbrola.html ,点击 download,下载 MBROLA binary 和你需要的声音文件。这里选择美国英语女声(for us1)。 安装 MBROLA binary,这里你应该下载到一个名为 mbr301h.zip 的文件。解压后把其中名为 mbrola-linux-i386 的文件改名为 mbrola,再复制到 /usr/local/bin 目录中。 安装声音文件,这里你下载到的声音文件的文件名应该类似 us1-980512.zip,把它解压到 [festival_install_dir]/festival/lib/voices/english/us1_mbrola [festival_install_dir]为 festival 的安装目录。在 Ubuntu 下应为 /usr/share/festival。
5. 测试新的声音 在执行完上面步骤后新的美国英语女声应该安装完毕。进入 festival 命令行测试一下: festival) (voice_us1_mbrola) festival) (SayText ” hello , american english female voice is coming”) 在这里你应该听到优美的美国英语女声了吧。
阅读全文
1. 安装 基本上 Ubuntu 的库里就有 Festival 软件。 $sudo apt-get install festival
2. 使用 Festival 的基本用法:
* 交互模式: 直接输入 festival 进入它的命令行界面。 $festival festival 〉 (SayText ” hello , festival is coming “) festival 〉 (tts myfile) 第二行是读取 myfile 文件里的内容。
* 命令行模式: $festival –tts myfile 直接读取 myfile 里的内容。 $ echo “hello , festival is coming ” | festival –tts 读取字符串。
3. 配置 Festival 默认用的是 oss,在一些系统会独占音频。这里我们将配置成使用 alsa 发音。 新建文件 ~/.festivalrc , 输入以下内容: (Parameter.set ‘Audio_Command “aplay -q -c 1 -t raw -f s16 -r $SR $FILE”) (Parameter.set ‘Audio_Method ‘Audio_Command) 如果想提高音量,可添加: (set! default_after_synth_hooks (list (lambda (utt) (utt.wave.rescale utt 1.6 t)))) 至此 festival 应该比较好的工作了。在集成声卡中会出现音速过快的问题。LinuxSir 上有一篇关于 Festival 的帖子,其中 wguzgg 网友曾经把网上的方法贴了出来。 我找到了如何将语速恢复正常的方法,原文在这里。主要是集成在主板上的声卡会出现语速过快的问题,解决方式是: 在 /usr/lib/festival/ 目录下创建一个文件 siteinit.scm,内容如下: (Parameter.set ‘Audio_Method ‘Audio_Command) (Parameter.set ‘Audio_Command “sox -t raw -sw -r $SR $FILE -c2 -t ossdsp /dev/dsp”) 这个参数写在 ~/.festivalrc 上也是有效的。不过就和前面我设置用 alsa 发音的设置冲突了。那个 alsa 的设置好像也能把语速减慢一点吧。我这里提供方法。你自己看着选择了。
4. 安装新语音这部分才是我写此文章的重要目的。因为在 Gentoo 的帖子,安装一个新的女声,只需要 emerge mbrola。而在 Ubuntu 的库中并没有收录此包。(也许是我不知道,谁知道告诉我)另一个原因是,默认的美国男声似乎有些含糊不清。所以我找了 mbrola 的女声来安装(注意,不得用于商业用途,他说的)。手动安装 festival mbrola 的信息,原网页。
* 安装 festival voice wrapper (这个咋翻译偶拿不准) 下载 festvox_us1.tar.gz,把它解压到 festival 的安装目录下,Ubuntu 下为 /usr/share/festival。
* 获取 MBROLA 声音文件和它的执行文件 跳到 http://tcts.fpms.ac.be/synthesis/mbrola.html ,点击 download,下载 MBROLA binary 和你需要的声音文件。这里选择美国英语女声(for us1)。 安装 MBROLA binary,这里你应该下载到一个名为 mbr301h.zip 的文件。解压后把其中名为 mbrola-linux-i386 的文件改名为 mbrola,再复制到 /usr/local/bin 目录中。 安装声音文件,这里你下载到的声音文件的文件名应该类似 us1-980512.zip,把它解压到 [festival_install_dir]/festival/lib/voices/english/us1_mbrola [festival_install_dir]为 festival 的安装目录。在 Ubuntu 下应为 /usr/share/festival。
5. 测试新的声音 在执行完上面步骤后新的美国英语女声应该安装完毕。进入 festival 命令行测试一下: festival) (voice_us1_mbrola) festival) (SayText ” hello , american english female voice is coming”) 在这里你应该听到优美的美国英语女声了吧。

http://www.qgy18.com/2009/08/flash_externalinterface/
http://www.qgy18.com/file/code/1.html
理论是js调用flash里面的代码是合情合理的,但是遇到firefox里面的代码不兼容(上面来你哥哥链接探讨的)也就罢了,但是,发现在firefox下出现flash没有加载完毕js就去调用flash里面的代码了,于是用了个什么:setTimeout(函授入口地址名称,2000);
其实在flsh一加载就把该函数给写上可以避免必须加载完毕才能调用?
解决了该问题,但是2秒啊,其主要原因是flash是广告的flash页面较大,造成加载缓慢,有没有办法通过firefox中的js某些函数判断firefox中的flash已经加载完毕了呢?google了一下好像有喔:
1.jquery来判断:
判断Flash加载完毕,然后再传递值进去。
步骤:01、我首先想到是否可以在HTML的<body>中用onload方法。
但是,失败。
02、后来我想到是否可以在Flash中用Actionscript判断是否加载完毕,
如果加载完毕,那么getURL或者fscommand一下调用HTML中的Javascript函数。
感觉比较复杂。
但是这个应该肯定行的通。
03、最后我想到了用jQuery来判断Flash是否加载完毕。
下面的代码:
$(document).ready(function(){
});
和onload方法几乎一样,都是在Flash加载之前就执行了。
04、因此我去搜了一下,还真有这样的插件:
http://www.malsup.com/jquery/media/
这个是媒体文件的插件,可以有mp3/mov/swf/wma等等。
但是就在这个网站上,它推荐,如果只是用Flash的话,
还是:
http://jquery.lukelutman.com/plugins/flash/
比较好。
网站简单,不过很够用。
05、目前看到的是1.0.1版本,文件名是jquery.flash.js
06、首先你得给它加载进来:
<script src="static/jquery.flash.js" type="text/javascript"></script>
然后在HTML的<body>之间加上:
07、这里的src是文件的位置。
width是宽,height是高,
flashvars是变量。
08、我们在flash中有一个动态文本框,实例名称是newtest。
另有几行代码:
stop();
newtest.text = str3;
str3就是我们从外面传递进来的变量值。
09、是的,就这样。
我们就能在Flash中看到显示:aa了。
高级:我现在在考虑能否在网页显示的过程中改变flashvars。
即,我按一个按钮,更新str3的值。
目前只能实现重新建一个flash对象,非常不爽。
2.js 判断flash加载进度源码
有时候我们需要判断一个flash加载了多少;我们可以用js判断:
其实最好还是flash加载完毕后调用我们的js或者去外边取数据,这种架构要秀气多了。
本站参考:
http://www.jackxiang.com/post/2370/
http://www.qgy18.com/file/code/1.html
理论是js调用flash里面的代码是合情合理的,但是遇到firefox里面的代码不兼容(上面来你哥哥链接探讨的)也就罢了,但是,发现在firefox下出现flash没有加载完毕js就去调用flash里面的代码了,于是用了个什么:setTimeout(函授入口地址名称,2000);
window.setTimeout("show_date_time()", 1000);
其实在flsh一加载就把该函数给写上可以避免必须加载完毕才能调用?
解决了该问题,但是2秒啊,其主要原因是flash是广告的flash页面较大,造成加载缓慢,有没有办法通过firefox中的js某些函数判断firefox中的flash已经加载完毕了呢?google了一下好像有喔:
1.jquery来判断:
判断Flash加载完毕,然后再传递值进去。
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}else {
alert(document.embeds[movieName]);
return document.embeds[movieName];
}
}
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}else {
alert(document.embeds[movieName]);
return document.embeds[movieName];
}
}
步骤:01、我首先想到是否可以在HTML的<body>中用onload方法。
但是,失败。
02、后来我想到是否可以在Flash中用Actionscript判断是否加载完毕,
如果加载完毕,那么getURL或者fscommand一下调用HTML中的Javascript函数。
感觉比较复杂。
但是这个应该肯定行的通。
03、最后我想到了用jQuery来判断Flash是否加载完毕。
下面的代码:
$(document).ready(function(){
});
和onload方法几乎一样,都是在Flash加载之前就执行了。
04、因此我去搜了一下,还真有这样的插件:
http://www.malsup.com/jquery/media/
这个是媒体文件的插件,可以有mp3/mov/swf/wma等等。
但是就在这个网站上,它推荐,如果只是用Flash的话,
还是:
http://jquery.lukelutman.com/plugins/flash/
比较好。
网站简单,不过很够用。
05、目前看到的是1.0.1版本,文件名是jquery.flash.js
06、首先你得给它加载进来:
<script src="static/jquery.flash.js" type="text/javascript"></script>
然后在HTML的<body>之间加上:
<body>
<div id="flash"></div>
</body>
然后是写我们自己的Javascript代码:
<script language="javascript">
$(document).ready(function(){
$('#flash').flash(
{ src: 'static/flash.swf',
width: 720,
height: 480,
flashvars: { str3: 'aa', str4: 'bb' }
},
{ version: 8 }
);
});
</script>
<div id="flash"></div>
</body>
然后是写我们自己的Javascript代码:
<script language="javascript">
$(document).ready(function(){
$('#flash').flash(
{ src: 'static/flash.swf',
width: 720,
height: 480,
flashvars: { str3: 'aa', str4: 'bb' }
},
{ version: 8 }
);
});
</script>
07、这里的src是文件的位置。
width是宽,height是高,
flashvars是变量。
08、我们在flash中有一个动态文本框,实例名称是newtest。
另有几行代码:
stop();
newtest.text = str3;
str3就是我们从外面传递进来的变量值。
09、是的,就这样。
我们就能在Flash中看到显示:aa了。
高级:我现在在考虑能否在网页显示的过程中改变flashvars。
即,我按一个按钮,更新str3的值。
目前只能实现重新建一个flash对象,非常不爽。
2.js 判断flash加载进度源码
有时候我们需要判断一个flash加载了多少;我们可以用js判断:
<div id="d1">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="mFlash"
WIDTH="600" HEIGHT="300">
<PARAM NAME=quality VALUE=high>
<param name="Play" value="-1">
<PARAM NAME=movie VALUE="http://www.toto369.net/sydm/52.swf">
</OBJECT>
</div>
<input id="txt" type="text" value="">
<div id="d2" style="visibility:hidden">
flash已经加载完成
</div>
<script language="javascript">
function ck()
{
var mFlash=document.getElementById("mFlash");
var txt=document.getElementById("txt");
txt.value=mFlash.PercentLoaded()+"%"
if(txt.value=="100%")
{
document.getElementById("d2").style.visibility="visible"
clearInterval(timer)
}
}
var timer=setInterval("ck()",1000)
</script>
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="mFlash"
WIDTH="600" HEIGHT="300">
<PARAM NAME=quality VALUE=high>
<param name="Play" value="-1">
<PARAM NAME=movie VALUE="http://www.toto369.net/sydm/52.swf">
</OBJECT>
</div>
<input id="txt" type="text" value="">
<div id="d2" style="visibility:hidden">
flash已经加载完成
</div>
<script language="javascript">
function ck()
{
var mFlash=document.getElementById("mFlash");
var txt=document.getElementById("txt");
txt.value=mFlash.PercentLoaded()+"%"
if(txt.value=="100%")
{
document.getElementById("d2").style.visibility="visible"
clearInterval(timer)
}
}
var timer=setInterval("ck()",1000)
</script>
其实最好还是flash加载完毕后调用我们的js或者去外边取数据,这种架构要秀气多了。
本站参考:
http://www.jackxiang.com/post/2370/