存档

  • js正则表达式表单验证

    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>js正则表达式匹配demo</title> <script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js”></script> <script type=”application/javascript”> $(document).ready(function(){ /* 设置js正则表达式匹配规则,可以随意扩展,idcard,phone,num,required,alpha是验证规则名称,通过在相应的input字段添加validator属性生效。 比如validator=’alpha’,即为验证是否是字母,多个规则用’|’连接,比如:validator=”required|alpha|upcase” 表示该字段不能为空、必须是字母,并且首字母大写。 下面的validate对象就是相应的规则定义。 */ var validate = new Array(); validate['idcard']= new Array(/^(\d{14}|\d{17})(\d|[Xx])$/,’格式不正确。’);//匹配身份证号码 validate['phone']= new Array(/(^1\d{10}$)|(^\d{7,8}$)/,’电话号码格式不对。’);//电话号码只能是7或者8位数字 validate['num']= new Array(/^\d+$/,’不是数字’); //匹配数字 validate['required']= new Array(/^.+$/,’不能为空’);//是否为空 validate['alpha']= new Array(/^[a-zA-Z]+$/,’只能是字母’);//必须是字母 validate['upcase']= new Array(/^[A-Z]{1}/,’第一个字母要大写’); /* 促发验证规则 */ [...]

    2012年2月11日 | 归档于 PHP/Python/C, 其它相关
  • c语言指针学习一

    #include <stdio.h> void pointer1() { /* * p为int型的指针,p++只跳到数组的下一个元素,数组名a代表&a[0],即代表第一个元素的起始地址 * 统一数组在内存中的地址是连续的 */ int a[10],*p,i; for(i=0;i<10;i++) { scanf(“%d”,&a[i]); } for(i=1,p=a;p<a+10;p++,i++) { printf(“a[%d] 的值是:%d,内存地址是:%d\n”,i,*p,p); } }

    2011年12月26日 | 归档于 PHP/Python/C
    标签:
  • php截取字符串乱码问题

    substr()函数用来截取字符串,是按字节截取,mb_substr()是按照字符截取,并且可以指定编码(以utf-8为例)。 比如: $str = “测试A4abcd截取字符串乱码问题!”; $sub = substr($str, 0,5); var_dump ($sub); echo bin2hex($sub); 因为utf-8编码中一个汉字占三个字节,例子中截取了第一个汉字和第二个汉字的前两个字节,共5个字节。第二个字节乱码。而采用mb_substr()则不会出现乱码: 类似的还有很会出现乱码的函数。php提供了一批多字节处理函数(mb_开头),用来处理汉字等多字节编码。 比如使用mb_split()代替explode()。     说明 string substr ( string $string , int $start [, int $length ] ) 返回字符串 string 由 start 和 length 参数指定的子字符串。

    2011年12月18日 | 归档于 PHP/Python/C
  • php curl获取https内容

    $url = ‘https://www.alipay.com’; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_FAILONERROR, 0); $data = curl_exec($ch); curl_close($ch); echo ($data);

    2011年12月3日 | 归档于 PHP/Python/C
  • 腾讯微博oauth认证

    腾讯微博api采用OAuth 1.0a进行授权认证,除了采用官方提供的php-sdk进行开发外还可以使用php语言本身的oauth扩展。 首先下载安装oauth扩展。 windows版本下载地址:http://downloads.php.net/pierre/php_oauth-1.1.1-dev-5.3-nts-vc9-x86.zip linux版本使用pecl下载安装: pecl install oauth 我们需要三个页面:ten.php是跳转页面,跳转到授权页面,back.php是回调地址,用户授权完成后会跳,demo.php演示页面,用得到的授权信息发送一条微博。 ten.php <?php $req_url = ‘https://open.t.qq.com/cgi-bin/request_token’; $authurl = ‘https://open.t.qq.com/cgi-bin/authorize’; $acc_url = ‘https://open.t.qq.com/cgi-bin/access_token’; $api_url = ‘http://open.t.qq.com/api/t/add’; $conskey = ‘aaaaaae’; $conssec = ‘aaaaaaa’; $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI); $oauth = disableSSLChecks(); $oauth->setNonce((rand())); $oauth->setTimestamp(time()); $requestToken = $oauth->getRequestToken($req_url,’http://localhost/back.php’); $_SESSION[’oauth_token’]=$requestToken[’oauth_token’]; $_SESSION[’oauth_token_secret’]=$requestToken[’oauth_token_secret’]; header("Location: $authurl".’?oauth_token=’.$requestToken[’oauth_token’]); back.php <?php $req_url = ‘https://open.t.qq.com/cgi-bin/request_token’; $authurl = ‘https://open.t.qq.com/cgi-bin/authorize’; $acc_url = [...]

    2011年11月26日 | 归档于 PHP/Python/C
  • solaris 编译安装nginx+php5.3.8(php-fpm)

    历史记录: 2011-12-19 修改,添加 fastcgi_intercept_errors on;当请求一个不存在的php页面时原来返回空,添加后返回404错误。 php从5.3.3版本开始内置FPM(FastCGI 进程管理器),用于替换PHP FastCGI的大部分附加功能,对于高负载网站是非常有用的。 它的功能包括: 支持平滑停止/启动的高级进程管理功能; 可以工作于不同的uid/gid/chroot环境下,并监听不同的端口和使用不同的php.ini配置文件(可取代safe_mode的设置); stdout 和 stderr 日志记录; 在发生意外情况的时候能够重新启动并缓存被破坏的opcode; 文件上传优化支持; “慢日志” – 记录脚本 (不仅记录文件名,还记录PHP backtrace信息,可以使用ptrace或者类似工具读取和分析远程进程的运行数据) 运行所导致的异常缓慢; fastcgi_finish_request() – 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作 (录入视频转换、统计处理等); 动态/静态子进程产生; FPM带来的好处还远不止这些,在此种模式下php本身对apache和nginx等web服务器的依赖程度也更低,服务器软件主要起到请求转发的功能,即将用户的请求转发到FPM监听的端口,php处理后返回结果供web显示。因此选用更轻量级以及并发处理更高的nginx做web服务器成为首选。   一下为本人在solaris10  x86机器上的安装记录: 1.下载并安装pkg-get工具: wget http://sunfreeware.com/BOLTpget.pkg pkgadd -d BOLTpget.pkg 2.在线更新php依赖库: pkg-get install gd-2.0.35 pkg-get install jpeg-8a pkg-get install libpng-1.2.10 pkg-get install libiconv-1.9.2 pkg-get install openssl-1.0.0e pkg-get [...]

    2011年11月26日 | 归档于 PHP/Python/C, web服务器
    标签: ,
  • php 3des加密解密,兼容java

    首先要明确3des加密的模式,是ecb还是cbc还是其他。 以下是php代码: <?php /** * @author Connor caokang@foxmail.com * @abstract 3des */   class DES { private $key = ‘DE2JCADLNF85E890H887Wa6′; //只有CBC模式下需要iv,其他模式下iv会被忽略 //private $iv = ‘B500290096000A007600E3005700C4003800A40018008500′; private $iv = ’12345678′;   /** * 加密 */ public function encrypt($value) { //先确定加密模式,此处以ECB为例 $td = mcrypt_module_open ( MCRYPT_3DES,”, MCRYPT_MODE_ECB,”); //$iv = pack ( ‘H16′, $this->iv ); $value = $this->PaddingPKCS7 [...]

    2011年11月9日 | 归档于 PHP/Python/C
    标签: , ,
  • PHP VC9和VC6以及Thread Safe和Non Thread Safe

    注:[5.4+不再支持vc6,只有vc9版本]见:http://news.php.net/php.internals.win/615 一、如何选择PHP的VC9版本和VC6版本 VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。 VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。 二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本 Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。 从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进 程的工作方式不同的是Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基 础之上的,而非多线程。一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的PHP 扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。因此在IIS下CGI模式才是 PHP运行的最安全方式,但CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。 为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个 进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优 势。 先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。 因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 再来看PHP的两种执行方式:ISAPI和FastCGI。 ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本; 而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

    2011年8月6日 | 归档于 PHP/Python/C
  • SoapFault exception: [SOAP-ENV:Client] looks like we got no XML document

    配置php soap服务时,如果你确定引用的wsdl正确,但又提示错误,错误信息如下: 错误提示:SoapFault exception: [SOAP-ENV:Client] looks like we got no XML document 这很可能是在你的服务端有多余的空格输出,尝试删除多余的空格,或者去掉服务端代码中结尾处的 ‘?>’ ================================================ SoapFault exception: [SOAP-ENV:Client] looks like we got no XML document This error can have to reasons: 1: Your server script has some hidden output like spaces before or afher <?php … ?> or echoing some text 2: You have a [...]

    2011年5月14日 | 归档于 PHP/Python/C
    标签:
  • php安装memcache扩展

    在一个已经编译完成的php环境中添加memcac扩展,通常我们会用phpize命令,该命令在php编译后的环境中存在。 下载php的memcache对应的安装文件:http://pecl.php.net/package/memcache,解压后进入安装包。 依次执行: phpize ./configure make && make install 1.完成后会给出一个路径,像:/usr/local/lib/php/extensions/no-debug-non-zts-20060613/这样的,记下提示给你的这个地址。 2.修改php.ini文件,添加: extension=memcache.so ,并且修改extension_dir为刚才记下的地址。 3.重启apache,查看phpinfo,此时memcache扩展就已经成功添加。

    2011年5月14日 | 归档于 PHP/Python/C
‘PHP/Python/C’ 分类的存档