Category ArchiveOthers
Others & 技术 08 Aug 2008 11:44 am
用php控制word的打印边距
将生成的word文件另存为htm,用文本比较工具(如svn的diff)差看差异,就可以找着关键点了。
<style>
<!–
@page Section1
{size:595.3pt 841.9pt;
margin:33.0pt 33.15pt 33.0pt 33.15pt;
}
div.Section1
{page:Section1;}
……
</style>
<body>
<div class=Section1>
…….
</div>
…….
Others & 技术 05 Nov 2007 11:09 am
tinymce在ie6下表现比较差
extended_valid_elements无法使用,HTML代码编辑时内容会消失.
IE6下在贴word文档时不能正确转换,ie7和FF下没有问题
IE7下会出现Ø ,FF下没事
讨论http://drupal.org/node/32883
解决方法是入库时用PHP替换http://tinymce.moxiecode.net/punbb/viewtopic.php?id=4352
Others & 技术 16 Jan 2007 10:00 am
cvs 关键字列表
来自http://man.chinaunix.net/develop/cvsdoc_zh/
这是关键字列表:
$Author$
检入该版本的用户登录名。
$CVSHeader$
标准的头部(类似去掉 CVS 根的 $Header$)。包括 rcs 文件的全路径、版本号、日期(UTC)、作者、状态、加锁人(如果有锁)。在使用 cvs 中文件通常不用加锁。
注意,该关键字是新加到 cvs 的,假如旧的文件中有 $CVSHeader$ 并有其他意义,会带来一些问题。可以在 CVSROOT/config 中用 KeywordExpand=eCVSHeader 来排除此关键字。参阅 Configuring keyword expansion。
$Date$
该版本被检入的日期与时间(UTC)。
$Header$
标准的 header 包括 rcs 文件的全路径、版本号、日期(UTC)、作者、状态、加锁人(如果有锁)。 在使用 cvs 中文件通常不用加锁。
$Id$
除了 rcs 文件不包括路径,其余和 $Header$ 相同。
$Name$
检出此文件所用的标签名。该关键字只在检出时显式加上标签时扩展。比如,运行 cvs co -r first 命令时,关键字扩展为 `Name: first’。
$Locker$
锁定版本的用户登录名(如果没有加锁此项为空,一般就如此,除非使用 cvs admin -l 加锁)。
$Log$
日志信息在提交时提供,前面是一个 header 包括 rcs 文件名、版本号、作者、日期(UTC)。已有的日志信息不会被替换。相反,新日志信息将插在 $Log:…$之后。默认,每一新行前面使用同样的 $Log$ 关键字前的字符串, 除非在 CVSROOT/config 里面设置 MaxCommentLeaderLength。
例如,文件文件包含:
/* Here is what people have been up to:
*
* $Log: frob.c,v $
* Revision 1.1 1997/01/03 14:23:51 joe
* Add the superfrobnicate option
*
*/
新增的行扩展 $Log$ 关键字后前面也会带有 ` * ‘ 字符。与以前版本的 cvs 和 rcs不同,rcs 文件中的不再使用 comment leader。 $Log$ 关键字将会在源文件中累积日志纪录。有些原因可能会造成问题。
如果 $Log$ 关键字的前缀超出 MaxCommentLeaderLength 长度, CVS 将跳过关键字扩展,除非在 CVSROOT/config 中设置 UseArchiveCommentLeader,并且有 `comment leader’ 设置在 RCS archive 文件,使得 comment leader 替代使用。为了了解更多关于 RCS archive 中设置 comment leader,参阅 admin. 了解更多默认的 $Log$ 替换配置,参阅 config.
参阅 Log keyword.
$RCSfile$
不带路径的 RCS 文件名。
$Revision$
该文件的修订版本号。
$Source$
RCS 文件的完整路径。
$State$
赋予版本的状态。可以通过使用 cvs admin -s 命令设置状态—参阅 admin options。
Local keyword
CVSROOT/config 文件中的 LocalKeyword 选项可以被用作其他关键字的别名: $Id$, $Header$, or $CVSHeader$。例如,在 CVSROOT/config 中包含 LocalKeyword=MYBSD=CVSHeader 这样一行,带有 $MYBSD$ 的文件会像 $CVSHeader$ 一样被扩展。如果 src/frob.c 文件包含这个关键字,像下面这样:
/*
* $MYBSD: src/frob.c,v 1.1 2003/05/04 09:27:45 john Exp $
*/
许多仓库使用 “local keyword” 这类特性。 cvs 的一个旧补丁提供 LocalKeyword 特性,它们使用称为“custom tag”或“local tag”特性的 tag= 选项。它被用于它们称为 tagexpand= 选项。在 cvs 中另一个选项为 KeywordExpand。参阅 Configuring keyword expansion。
知名的项目中有这些例子: $FreeBSD$, $NetBSD$, $OpenBSD$, $XFree86$, $Xorg$.
使用它的优点在于可以使用自己的版本信息而不破坏上面版本(它们可能使用不同的 local keyword 或标准关键字)。使得 bug 报告可以更恰当地识别第三方的错误源,以及减少导入新版本时产生的冲突数。
除 local keyword 之外所有的关键字都可以在 CVSROOT/config 文件中用 KeywordExpand 选项停用—参阅 Configuring keyword expansion 获得详细信息。
Others & 技术 11 Jan 2007 05:36 pm
svn 的属性
在CVS里有一个很有用的功能,就是将源文件中的一些关键字替换,例如提交时间,作者等。Subversion默认不会对此类关键字进行处理,需要设置一些属性,才能实现。
例如我们要在某个源文件的头上自动添加最后一个修改人的名字和提交的时间,首先我们为这个文件设置属性svn:keywords的值为“Date Author”,然后在这个文件需要添加作者和提交时间的地方增加下面这样的字段:
$LastChangedDate$
$Author$
这样这个文件提交后,对应的字符变成了下面的样子:
$LastChangedDate: 2006-11-29 22:58:16 +0800 (星期三, 29 十一月 2006) $
$Author: root $
这里还存在一个问题,就是Subversion总是使用UTF-8替换文本,文件必须使用UTF-8编码。如果我们的文件编码是GBK,而日期显示格式是上面的汉字形式,或者文件路径、文件名包含中文那得到的将是乱码的。
所以最好还是避免使用$Date$ 和 $HeadURL$。
Subversion定义了用来替换的关键字列表,这个列表保存了如下五个关键字,有一些也包括了可用的别名:
Date
这个关键字保存了文件最后一次在版本库修改的日期,看起来类似于$Date: 2002-07-22 21:42:37 -0700 (Mon, 22 Jul 2002) $,它也可以用LastChangedDate来指定。
Revision
这个关键字描述了这个文件最后一次修改的修订版本,看起来像$Revision: 144 $,也可以通过LastChangedRevision或者Rev引用。
Author
这个关键字描述了最后一个修改这个文件的用户,看起来类似$Author: harry $,也可以用LastChangedBy来指定。
HeadURL
这个关键字描述了这个文件在版本库最新的版本的完全URL,看起来类似$HeadURL: http://svn.collab.net/repos/trunk/README $,可以缩写为URL。
Id
这个关键字是其他关键字一个压缩组合,它看起来就像$Id: calc.c 148 2002-07-28 21:30:43Z sally $,可以解释为文件calc.c上一次修改的修订版本号是148,时间是2002年7月28日,作者是sally。
具体如何做呢?
首先在代码文件里写上相关属性
- /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
- /**
- * @file $HeadURL$
- * @version $Id$
- * @author $Author$
- * @package
- */
在windows下安装TortoiseSVN后
你可以在一个受控文件上右键->属性,然后到Subversion属性页
设置svn:keywords,根据你的需要选择Id,Url,Author,Date,Rev
设置后,提交这个文件,再打开就可以看到效果
- /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
- /**
- * @file $HeadURL: svn://localhost/test/test4.php $
- * @version $Id: test4.php 66 2007-01-11 08:41:22Z root $
- * @author $Author: root $
- * @package
- */
但是这样单个文件操作太麻烦了,我们可以让svn自动帮我们处理。
右键->svn->seeting->general->Subversion configuation file: edit
- ### for 'svn add' and 'svn import', it defaults to 'no'.
- ### Automatic properties are defined in the section 'auto-props'.
- # enable-auto-props = yes
去掉enable-auto-props 前的#
- # Makefile = svn:eol-style=native
下增加
*.php = svn:eol-style=native;svn:keywords=Id Author Revision
这样对php文件就会自动处理Id Author Revision三个属性。
因为svn的属性保存在本地,所以开启后只对以后add或commit的文件有启,如果以后新增属性如:HeadURL,是无效果的。
同样以后关闭auto-props 对以前的文件也是没有影响的。
Others & 技术 09 May 2006 01:14 pm
xampp 默认未开启zend optimizer 解密
需在php.ini中开启
zend_optimizer.enable_loader = 1
记得同时修改php4 和php5 的php.ini