Monthly Archives: 二月 2012

爱好收藏

wordpress表情集

:mrgreen: (:mrgreen :) :neutral: (:neutral :) :twisted: (:twisted : )
:arrow: (:arrow :) :shock: (:shock :) :smile: (:smile :)
:???: (:??? :) :cool: (:cool :) :evil: (:evil :)
:grin: (:grin :) :idea: (:idea :) :oops: (:oops :)
:razz: (:razz :) :roll: (:roll :) :wink: (:wink :)
:cry: (:cry :) :eek: (:eek :) :lol: (:lol :)
:mad: (:mad :) :sad: (:sad :) 8-) (8- ))
8-O (8-O) :-( (:- () :-) (:- ))
:-? (:- ?) :-D (:- D) :-P (:- P)
:-o (:- o) :-x (:- x) :-| (:- |)
;-) (;- )) 8) (8 )) 8O (8O)
:( (: () :) (: )) :? (: ?)
:D (: D) :P (: P) :o (:o)
:x (: x) :| (: |) ;) (; ))
:!: (:! :) :?: (:? :)
括号内的字符,去掉中间的空格,就是WP的表情。如果预览时出来的不是表情,可能是因为字符的左边或者右边需要加个空格,比如 8O 就是这样

Hello World 他山石

log4php配置文件实例

文件名:log4php-1.properties

log4php.appender.default = LoggerAppenderDailyFile
log4php.appender.default.layout = LoggerLayoutPattern
log4php.appender.default.layout.ConversionPattern =%d{ISO8601} | [%p] | %m%n 
log4php.appender.default.datePattern = Ymd
log4php.appender.default.file = /Users/logs/php/%s.log
log4php.rootLogger = DEBUG,default

这样就可以通过建立多个配置文件,方便为每一个产品或者模块采用不同的配置,当然生成的日志目录也可以灵活管理。
调用如下:

include_once('log4php/Logger.php');  
Logger::configure("log4php-1.properties");  
$logger = Logger::getLogger('cam'); 
//debug
$logger->debug('---debug---');

————
参考:http://hmw.iteye.com/blog/1147299
下载log4php:http://logging.apache.org/log4php/download.html

Hello World

ajax如何跨域

首先明确一点,ajax本身是不能跨域的(没有兼容所有主流浏览器的跨域方案),所谓的ajax跨域,不过是使用script标签去请求其他域下的一段js代码,比如下面的这个问题:
baidu地图和google地图使用的不是同一套定位数据,如果你拿google的gps数据,不做任何处理,就放到baidu地图里用,会出现比较大的偏差,为此,api.map.baidu.com提供了提供了一个转变接口,但用普通的ajax的话,就会存在跨域的问题,还好,baidu已经想到了这个问题,这个接口本身就是供跨域用的,比如,我们可以写一个这样的方法:

function g2b(x, y, callback){
	window.g2bCallback = callback;//将回调函数放到window下
	var u = 'http://api.map.baidu.com/ag/coord/convert?from=2&to=4&mode=1&x='
		+ x + '&y=' 
		+ y + '&callback=g2bCallback';//最后一个参数是回调函数的名字
	$.getScript(u);//调用接口
}

上面$.getScript(u)实际上返回这样一段js代码来以转换结果为参数调用给定的callback方法:

g2bCallback&&g2bCallback(
	[{"error":0,"x":"MTEuMDA2NTQwNzQ1OTc5","y":"MjIuMDA1OTk4OTkxODk3"}]
)