sshong发表于2014年9月15日 20:32:14 更新于2014年9月15日 20:32:14
由于项目需要从mssql导入数据到mysql数据库,记录下php连接mssql的一些问题。

1、安装,需要安装freetds
对于Debian(ubuntu这种)
apt-get install php5-sybase

2、字符集问题
mssql query如果返回
...
标签:无分类:PHP阅读:5340评论:0阅读全文
sshong发表于2014年8月15日 22:50:42 更新于2014年8月15日 22:58:50
花了点时间为博客图片上传加水印功能。
其实很简单,用的无非是imagecopymerge或者imagecopy方法。
imagecopymerge可以设置水印透明度(可以总体设置水印图片透明度,但是水印图片自身不能带有alpha)。
imagecopy直接把水印覆盖到原图上(水印图片支持自身带有alpha,但不能总体设置水印图片透明度)。

如果想要水印图片带有alpha如png,同时又要支持设置整体水印图片透明度,则需要hack。
...
标签:无分类:PHP阅读:4887评论:0阅读全文
sshong发表于2013年9月7日 08:47:31 更新于2013年9月7日 08:47:31
测试了下php中几个字符串替换函数的效率,结论:
str_replace > strtr > preg_replace

测试代码如下:
...
标签:无分类:PHP阅读:2904评论:0阅读全文
sshong发表于2013年8月11日 09:00:55 更新于2013年8月11日 09:39:03
关于cookie与session,这里简单的记一些,
由于http是无状态的,也就是服务器不认识客户端,要让他们认识,于是产生了session(用一个id标明用户身份)。
同样,由于http是无状态的,有时服务器想在客户端存储点信息,于是产生了cookie。
cookie可以通过客户端js读取写入,也可以通过服务器端在http响应头中设置,同时下次访问该服务器时会自动读取这些cookie并放到http请求头中。

1、session是用sessionid来标示用户的,而这个sessionid必须在每次客户端请求服务器时告知,联想到cookie,自然最好的方式就是用cookie来保存ses...
标签:无分类:PHP阅读:2623评论:0阅读全文
sshong发表于2013年4月23日 14:02:19 更新于2013年4月23日 14:05:07
这两天在写一个缓存类,尝试用下大名鼎鼎的memcached。
结果一查php手册,有点懵,有一个memcache扩展和一个memcached扩展,再加上windows上不支持memcached扩展,网上一搜,说的乱七八糟,这里梳理澄清下。


首先:
1、memcached服务端:
memcached是一个开源的免费的高性能的分布式的内存级别的数据缓存系统,跟php不搭噶。
官方网址:memcached
也就是说memcached是一个服务器,提供了一系列接口给外部调用用于存储/取值等。

这些接口的调用者就是客户端,ph...
标签:缓存分类:PHP阅读:2779评论:0阅读全文
sshong发表于2013年4月13日 21:48:16 更新于2013年4月13日 22:20:03
推荐两篇文章,非常棒:
What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text
Handling Unicode Front To Back In A Web App

从字符编码是什么,到浏览器与后端(PHP)交互,从PHP到mysql交互讲的简单明...
标签:编码分类:PHP阅读:2812评论:0阅读全文
sshong发表于2013年4月11日 16:56:59 更新于2013年4月11日 17:02:36
前天update执行了条语句,忘了写where,导致整个表数据都废了,还好是dev环境,后来是人肉到qa环境的数据库去拷贝过来的的,吓出一身冷汗,这两天整理学写了下mysql的备份以及恢复的知识:

1、mysqlbinlog日志
mysqlbinlog首先要在my.ini中开启,如log-bin=mysql-bin,会在data目录下生成对应的如mysql-bin.000001、mysql-bin.000002等等文件,一般是每次重启mysql或者手动flush logs就会生成一个日志文件。
日志文件中记录了每一次对数据库有实质影响的操作,如insert、update等。每次操作都记...
标签:无分类:PHP阅读:2533评论:0阅读全文
sshong发表于2013年3月24日 11:42:37 更新于2013年3月24日 11:52:06
不仅仅是web,如今各种各样的细分技术里都有缓存这种东西,归根结底都是为了提高速度与节省资源,HTTP也不例外,这里简单记录下HTTP的缓存控制(这里仅简单的谈及浏览器缓存)。

欢迎探讨,有不对之处,还望指正。

HTTP有客户端(浏览器)发起请求、服务器端发送响应,因此,缓存也要从两方面谈起。
服务器端可以要求浏览器缓存还是不缓存,以及告诉一些缓存的额外信息。
浏览器可以听服务器端的缓存要求,也可以强制不听你丫的。

通常来说,缓存控制的主要部分由服务器端控制,毕竟浏览的内容是从服务器端出来的,服务器端清楚这份内容是否能缓存以及各种各要的额外信息。

一、服务器端(使用PHP验证):...
标签:缓存分类:PHP阅读:2761评论:0阅读全文
sshong发表于2013年3月20日 20:35:37 更新于2013年3月20日 22:09:57
所谓序列化,就是将1个变量转化为二进制或者字符串形式,进行存储或者传输。
反序列化,正好相反。

这里总结下最近用到的PHP里面的序列化、反序列化相关的知识。

1、serialize序列化 unserialize反序列化
php中提供了serialize函数用于将一个变量值序列化为字符串形式,
通过unserialize又可以将这个字符串反序列化为一个具体的变量值。
参考如下代码:
...
标签:无分类:PHP阅读:2896评论:0阅读全文
sshong发表于2013年3月17日 10:46:57 更新于2013年3月17日 10:52:11
今天小试了下PHP VLD扩展的安装。PHP的所有扩展可以到PECL(官网)上下载(你牛叉也可以发布扩展到这个网站),php扩展在windows下编译为dll放在ext目录,linux下编译为so。(PHP还有一种叫PEAR组件库类库网站,不要搞混了)

一般网上介绍的都是linux下的VLD安装,大致是下载源码,直接编译。但在windows下要用vs进行dll编译,有点小复杂。不过PHP官方提供了windows的PECL扩展网站,...
标签:VLD分类:PHP阅读:11135评论:2阅读全文
共25篇日志 第1/3页 下一页 尾页
联系我
博客订阅