![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
ciaos
这个作者很懒,什么都没留下…
展开
-
实现一个简单的php操作mysql类
php为操作mysql提供了一些简单易用的函数mysql_connect,mysql_query,mysql_fetch_array等,想对它们做一个简单的封装,这里使用基本的mysql_connect函数而不是保持连接的mysql_pconnect函数。<?php/** * @author pengjing * @copyright 2012 */class EasyMysql原创 2012-05-02 15:44:33 · 1027 阅读 · 0 评论 -
crypt函数加密
crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。语法crypt(str,salt)参数 描述str必需。规定要编码的字符串。salt可选。用于增加被编原创 2012-12-07 18:15:05 · 2166 阅读 · 0 评论 -
thrift 串行化使用示例
thrift是一个用于进行可扩展跨语言服务开发的软件框架,和SOAP以及PHP-RPC不一样的是它还集成了功能强大的代码生成工具,快速构建C++,Java,Python等很多语言代码。下面简单用来做个demo。首先在官网下载源码包(其中包含了各种语言的依赖库),实现一个拼接字符串的服务,编辑文件test.thrift如下:service Test { string combine(原创 2012-10-17 16:54:03 · 1104 阅读 · 0 评论 -
php的PHPRPC安装使用
“PHPRPC是一个轻型安全的,跨网际跨语言跨平台跨域,支持复杂对象传输,支持引用参数传递,支持内容输出重定向,支持分机错误处理,支持会话,面向服务的高性能远程过程调用协议”,提供了ASP,Java,JavaScript,.net,php,python,ruby,perl等主流语言的实现。虽然soap也号称是简单对象访问协议,不过从上面一篇博客介绍中也看出,它的定义还是比较复杂了,更别提基原创 2012-07-12 21:29:34 · 2796 阅读 · 0 评论 -
php和C语言程序计时
有时候想查看程序运行时间,可以用time工具,在程序命令前加time可以粗略查看到程序运行花费的时间。倘若想查看某个程序片段运行耗时则需要自己计算了。php记录时间(秒级别)<?php$start = microtime(true);for($i = 0;$i < 10000;$i ++){ for($j = 0;$j < 1000;$j ++){ }}$end原创 2012-09-07 15:26:12 · 992 阅读 · 0 评论 -
实现一个简单的php操作SQLite的类
首先需要安装给php安装sqlite扩展,在php.ini配置文件中添加库的引用依赖,操作类的实现代码如下<?php/** * @author pengjing * @copyright 2012 */class EasySQLite{ /** * database object */ private $conn; /**原创 2012-09-03 08:56:55 · 857 阅读 · 0 评论 -
装配二进制字符串(pack函数)
最近看一点python的代码,发现struct这个包在处理网络编程上非常强大,pack和unpack函数能很轻松地将数据组包拆包,如下所示:#! /usr/bin/env pythonimport socket, struct, time, reif __name__ == '__main__': num1 = 5 num2 = 10 str1 = 0x原创 2012-08-16 16:37:04 · 2850 阅读 · 0 评论 -
STUN协议检测网络环境流程
STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后。这些信息可用来在两个同时处于NAT路由器之后的主机之间建立UDP通信,下面先简要介绍一下NAT类型。NAT(网络地址转换)按照实现方式分为:Full Cone NAT,Rest原创 2012-08-17 10:29:55 · 3535 阅读 · 0 评论 -
Gearman一个异步任务调度器
Gearman是一个比较著名的任务调度器,可以将工作任务委派给后台别的进程或者别的机器的进程去做,当然对于远程过程调用我们可以有很多种选择,RPC,REST接口等都是不错的解决方案,但是Gearman提供了对各种语言丰富的集成,它的程序框架如下图,我们可以看出客户端可以由C,PHP,Perl等语言实现,Worker端也可以由自己选择一个工作语言,这种多系统多语言的集成显得非常的灵活。gearman原创 2012-06-03 20:02:38 · 1870 阅读 · 0 评论 -
Innodb引擎中事务使用
Mysql数据库应该是互联网应用中使用范围最广的关系型数据库了,没有之一。它的插件式存储引擎架构非常有意思,不同的引擎有着非常不一样的功能和特点。当然针对不同的应用场景需要选择不同的引擎来处理,一些常见常用的比如MyISAM,InnoDB,NDB,Memory等。虽说各个存储引擎对应用是透明的,但是使用mysql时我们仍然需要了解它们各自的特点。下面简单列举各个引擎的特点InnoD原创 2012-06-17 21:14:47 · 1010 阅读 · 0 评论 -
rabbitmq的队列服务功能
RabbitMQ是一个基于Erlang实现的消息队列服务,遵循AMQP通信协议,是比较流行通用的异步消息队列服务。(背景知识,Erlang是一个结构化,动态类型编程语言,内建并行计算支持。使用Erlang编写的程序通常有许多轻量级进程组成,通过消息传递互相通信,进程间上下文切换比C的线程切换高效地多。)首先下载安装Erlang,然后下载rabbitmq的rpm安装包(我的环境是fedora原创 2012-06-16 21:26:36 · 4908 阅读 · 1 评论 -
redis的brpop简单使用
redis作为消息队列,已经在许多互联网公司推广开了,相比memcacheq更加丰富的数据结构和功能当然是它备受青睐的主要原因。redis的安装不用赘述,安装完毕后有redis-server和redis-cli两个工具可用,一个服务器端一个客户端。然后接着安装php的扩展。我在网上找了几个php的扩展,安装使用都不是很方便,没有做具体功能与性能的比较,就随便找了个用C实现的扩展来试试吧gi原创 2012-06-15 22:33:50 · 19810 阅读 · 0 评论 -
php截取中文字符串函数及测试
字符串截取对于我们码农来说是家常便饭了,网页前台后台都容易用到,但是对一些中英文混合的字符串截取还是头疼容易出现乱码,因为汉字在gb2312编码中占有2个字符,所以容易出现截取一半的情况。我也一直想找这样的一些库函数,比如mb_substr函数,不过使用它需要php依赖附加一些库的加载。$str = "my英文名ciaos";print_r(substr($str,0,3)); //输出原创 2012-04-25 14:49:24 · 1524 阅读 · 0 评论 -
php的session/cookie函数
Cookies是网站为了区别用户,进行session跟踪存储在用户本地浏览器上的数据。Cookies是由服务器端生成,发送给浏览器,浏览器将Cookie的key/value保存到某个目录下的文本文件中,下次请求同一网站时发送该Cookie给服务器(前提是浏览器启用了cookie服务)不同网页也能通过cookie来传递信息。创建cookie,设置过期时间10s<?phpif(is原创 2012-08-04 20:43:21 · 645 阅读 · 0 评论 -
php的魔法方法__call使用
<?phpclass Car{ public function __call($method,$args) { print "method $method called\n"; var_dump($args); } /* 新版本php提供 public static function __callStatic($me原创 2012-07-17 15:50:09 · 726 阅读 · 0 评论 -
php的SOAP安装使用
SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。php默认提供了专门用于soap操作的扩展库,我们只需要在php.ini中把php_soap.dll的扩展包加上即可,然后就能很方便地实现soap版本的远程过程调用。A,不使用wsdl文件(使用方便,不需要编写繁琐的wsdl文件,定义每个原创 2012-07-12 21:29:00 · 1376 阅读 · 0 评论 -
urlencode和文本编码
电脑中一个字符大都用八位数的二进制数字表示,标准的ANSI编码规范规定0~127总共128个数字代表信息(字母,数字,标点,控制码,空格等),剩下没用到的128个编码没用做规定,不同国家地区制定了不同的标准,由此产生了GB2312,BIG5以及JIS等各自的编码标准。这些使用 2 个字节(0x80~0xFF范围内)来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANS原创 2012-07-01 20:33:17 · 1117 阅读 · 0 评论 -
用ZMQ实现任务调度
首先做个测试:1,一个性能低下的服务(或者页面)<?php$time = rand(1,5);//current task costs $time secondssleep($time);//resultecho "Hello_$time";?>用ab测试一下结果如下ciaos:~/penjin # ab2 -c 500 -n 10000 http://127.原创 2012-12-13 18:15:49 · 2202 阅读 · 0 评论