PHP:将图片编码成base64

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,事实上,可以base64编码的文件不仅仅是图片,其他可以通过Http传输的数据文件也可以base64编码,恩,差不多,就这样.

想了解更多情况的童鞋可以看看这篇文章《小tip: base64:URL背景图片与web页面性能优化》。

今天主要分享一段用PHP实现 将本地图片编码成base64 的代码:
继续阅读…

Javascript:使用Web代理实现XMLHttpRequest跨域访问

XMLHttpRequest对象(在IE中也称作XMLHTTP对象)是当今最令人兴奋的AJAX Web应用程序的核心。但实际上使用这个对象书写的客户端web应用程序在通过web浏览器进行跨域访问时面临的安全限制性因素而变的非常棘手。这篇文章以简单易于理解的语言描述了这个问题,并提供了一个可行的解决方案:来自你的web服务器请求像雅虎的web服务API网络请求的web代理。

继续阅读…

PHP中功能强大却少使用的函数

call_user_func_array — 让参数以数组的形式调用一个函数
call_user_func — 调用一个存在的函数
create_function — 建立一个函数
func_get_arg — 获取函数中某个参数的值
func_get_args — 获取函数的所有参数并组成数组
func_num_args — 获取一个函数的参数个数
function_exists — 判定一个函数是否存在
get_defined_functions — 获取已有的函数信息
register_shutdown_function — 注册一个页面载入完成后运行的函数
register_tick_function — 注册一个按要求调用的函数
unregister_tick_function — 取消一个按要求调用的函数
继续阅读…

收藏几个PHP助手函数

1, 获取客户端IP地址:

/**
 * 获取客户端的IP地址
 * 
 * @since 1.0.0
 * @return string $ip
 */
function getClientIP() {
	if(getenv('HTTP_CLIENT_IP') && strcasecmp( getenv('HTTP_CLIENT_IP'),'unknown')){
		$ip = getenv('HTTP_CLIENT_IP');
	}else if(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp( getenv('HTTP_X_FORWARDED_FOR'),'unknown')){
		$ip = getenv('HTTP_X_FORWARDED_FOR');
	}else if(getenv('REMOTE_ADDR') && strcasecmp( getenv('REMOTE_ADDR'),'unknown')){
		$ip = getenv('REMOTE_ADDR');
	}else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){
		$ip = $_SERVER['REMOTE_ADDR'];
	}else{
		$ip = 'unknown';
	}
	return($ip);
}

2,判断传入字符串是否为邮箱

/**
 * 判断传入字符串是否为邮箱
 * 
 * @since 1.0.0
 * @param String $email
 * @return boolean
 */
function isEmail($email){
	return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+",$email));
}

3,产生给定长度的随机字符串

/**
 * 产生给定长度的随机字符串
 * 
 * @since 1.0.0
 * @param Number $length
 * @return String $hash
 */
function randomStr($length = 32) {
	$hash = '';
	$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
	$max = strlen ( $chars ) - 1;
	mt_srand ( ( double ) microtime () * 1000000 );
	for($i = 0; $i < $length; $i ++) {
		$hash .= $chars [mt_rand ( 0, $max )];
	}
	return $hash;
}

4,截取字符串函数,支持截取指定长度的汉字字符

/**
 * 截取字符串函数,支持截取指定长度的汉字字符
 * 
 * @since 1.0.0
 * @param $str
 * @param $from
 * @param $len
 * @return string $str
 */
function utf8CutStr($str, $from, $len) {
	$curlen = strlen($str);
	if($curlen>$len){
		return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str).'...'; 
	}else{
		return $str;
	}
}

后续整理,持续增加...

『演示』Just a CometDemo App Powered by CrossYou

话说,早在去年的8月份,自己连续花费了7天的时间,制作了自己有史以来的第一个php+txt版的留言本,附上Demo链接(以证明真相).

那么今天这个所谓的Just a CometDemo也仅仅是个功能演示而已,并且还不完善,很勉强,当热这个并不是以前GuestBook的升级版,仅仅是另一个差不多的东西,附上截图以示真相:

最后荒淫大家测试…

地址:http://comet.crossyou.cn/crossyou/www/

Phpcompressor-1.0.5 for linux base on Yuicompressor

在winXP下的时候,我用的是Taobaocompressor 来压缩js||css文件,后来转到ubuntu,网上找个好点的linux版的压缩工具也难,于是就着php皮毛的了解,自己制作了一个compressor,分享出来,共用学习研究。

compressorDemo

上图为终端使用效果图,相对来说使用起来也是比较方便的,并且自己可以,自行设置压缩后的文件名字及保存位置,比淘宝那个压缩感觉要灵活一点。
命令行 支持四个参数的输入 参数按照顺序分别是:sourceFile targetFile native2ascii charset

参数简单解释如下:

sourceFile        要压缩的js或者css源文件

targetFile        压缩后的js或者css文件名

native2ascii    调用native2ascii将非ascii字符用uxxxx表示,false表示禁用此功能

charset            js或者css的文件编码格式,默认为UTF-8

程序更新:

V1.0.5 – 将v1.0.0 封装到 Compressor 类中 添加详细注释

安装配置请见:程序Readme.txt文件
下载地址:PhPcompressor.tar