随笔分类 -  PHP

上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
网站语言
摘要:本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC,以及使用二进制传输数据流的 HessianPHP,那么一下就简单的介绍下这几种webservice在php中的使用,虽然网上也有很多这方面的资料,但是这是我个人实践所得,当 然也是从网上找的资料,在此简单的做个笔记。一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client)。要使用php本身的soap首先要把该拓展安装好并且启用。下面看具体的code首先这是服务端实现: 1 setClass('test'); 16 //$s.. 阅读全文
posted @ 2014-02-11 17:55 幻星宇 阅读(318) 评论(0) 推荐(0)
摘要:通过WEB服务器来实现PHP多线程功能。当然,对多线程有深入理解的人都知道通过WEB服务器实现的多线程只能模仿多线程的一些效果,并不是真正意义上的多线程。 但不管怎么样,它还是能满足我们的一些需要的,在需要类似多线程的功能方面还是可以采用这个类。 1 /** 2 * @title: PHP多线程类(Thread) 3 * @version: 1.0 4 * @author: phper.org.cn 5 * @published: 2010-11-2 6 * 7 ... 阅读全文
posted @ 2014-02-11 15:02 幻星宇 阅读(555) 评论(0) 推荐(0)
摘要:http://example.com/index.php/控制器/方法名/页面的偏移值页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值加在base_url的最后面。这时如果我在点击页面跳转按钮进行页面跳转时还想带参数呢,像下面这样的话分页类就不能正常工作了。http://example.com/index.php/控制器/方法名/其它参数1/其它参数2/页面的偏移值解决方法,在config.php配置文件中把 $config['enable_query_strings'] 设置为 TRUE,传给分页类的config 阅读全文
posted @ 2014-02-08 15:58 幻星宇 阅读(2234) 评论(0) 推荐(0)
摘要:众所周知,缓存数据库查询的结果可以显著缩短脚本执行时间,并最大限度地减少数据库服务器上的负载。如果要处理的数据基本上是静态的,则该技术将非常有效。这是因为对远程数据库的许多数据请求最终可以从本地缓存得到满足,从而不必连接到数据库、执行查询以及获取结果。 但当您使用的数据库与 Web 服务器位于不同的计算机上时,缓存数据库结果集通常是一个不错的方法。不过,根据您的情况确定最佳的缓存策略却是一个难题。例如,对于使用最新数据库结果集比较重要的应用程序而言,时间触发的缓存方法(缓存系统常用的方法,它假设每次到达失效时间戳记时就重新生成缓存)可能并不是一个令人满意的解决方案。这种情况下,您需要采用一种. 阅读全文
posted @ 2014-02-08 15:05 幻星宇 阅读(304) 评论(0) 推荐(0)
摘要:1、OAuthOAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码)2、SCA服务组件框架(SCA)提供了一套可构建基于面向服务的应用系统的编程模型。它的核心概念是服务及其相关实现。服务由接口定义,而接口包含一组操作。服务实现可以引用其他服务,称为引用。服务可以有一个或多个属性,这些属性是可以在外部配置的数据值。3.SOAP简单对象访问协议(Simple Object Access Protocol,SOAP),是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化 阅读全文
posted @ 2014-02-08 15:02 幻星宇 阅读(173) 评论(0) 推荐(0)
摘要:导读:大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑。此时PHP多线程的作用非常明显,它可以同时执行NoSQL查询大大的提升效率。PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。 PHP扩展下载:https://github.com/krak. 阅读全文
posted @ 2014-02-08 15:01 幻星宇 阅读(337) 评论(0) 推荐(0)
摘要:导读:有时候我们需要对收集的数据做统计,并在页面提供显示以及下载。除了对传统的excel存取之外,对CSV文件的存取也很重要。本文列出了这两种操作的详细代码。代码: 在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看。亦或者是用CSV进行一些批量的上传工作。这个时候我们就需要对CSV进行读写操作。php CSV的读取操作代码:CSV的写入操作代码:输出CSV(下载功能)代码:输出excel(下载功能)header("Content-type:application/vnd.ms-excel");header("Content-Dispos 阅读全文
posted @ 2014-02-08 15:00 幻星宇 阅读(954) 评论(0) 推荐(0)
摘要:导读:在二维码广泛应用化的今天,在web站点中自动生成对应的二维码是最基础的需求。文章介绍了使用PHP自动生成二维码的三种方式。get方法实现方式一:$urlToEncode="163.com"; generateQRfromGoogle($urlToEncode); function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $url = urlencode($url); return ''; } po 阅读全文
posted @ 2014-02-08 14:57 幻星宇 阅读(247) 评论(0) 推荐(0)
摘要:导读:在设计博客类站点时,有时会需要在发布文章时同步发布在微博上。本文阐述了实现该功能的基本方式。准备工作作为新浪微博的开发者,需要有身份验证;个人身份认证的审核,一般一个工作日;接着是提交网站的审核,境内的就是提交备案号。境外的提交所在网站的境外证明即可;也是一个工作日左右;通过个人身份审核之后,就可以创建应用、调用接口了,这时得到的权限相对低点;网站不提交审核或未通过审核,对发微博没有影响;只是在发的微博下面会显示"未审核应用";审核之后显示的为网站应用名称:image调用接口微博开放平台提供了测试工具;在开发接入之前,首先得保证通过这个测试工具能将测试微博发出去;ht 阅读全文
posted @ 2014-02-08 14:54 幻星宇 阅读(652) 评论(0) 推荐(0)
摘要:导读:PHP在生成静态文件的时候,有时候会因为一些混编问题让HTML标签不完整或混乱而导致页面混乱。作者分享下面这段小代码可以非常方便解决问题。 如果你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包含进去了,我们可以写个函数方法来补全html标签以及过滤掉无用的html标签.php使HTML标签自动补全闭合函数方法如下:function closetags($html) { preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(? #iU' 阅读全文
posted @ 2014-02-08 14:31 幻星宇 阅读(569) 评论(0) 推荐(0)
摘要:1.获取远程文件大小及信息的函数function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url[’host’],empty($url[’port’])?80:$url[’port’],$error)){ fputs($fp,"GET ".(empty($url[’path’])?’/’:$url[’path’])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[host]\r\n\r\n"); while(!feof 阅读全文
posted @ 2014-01-21 14:31 幻星宇 阅读(1163) 评论(0) 推荐(0)
摘要:使用php有一段时间了,之前一直用fwrite写入文件,不过当我知道file_put_contents这个函数之后,fwrite就比较少用了,file_put_contents比fwrite代码更简洁。具体来说,fwrite至少要3行代码完成一次写入时间,而file_put_contents只需要一行代码即可!如下为file_put_contents的实例代码:同样的功能使用fwrite的实例代码:从以上两个例子看出,其实file_put_contents是fopen、fwrite、fclose三合一的简化写法,这对程序代码的优化是有好处的,一方面在代码量上有所减少,另一方面不会出现fclos 阅读全文
posted @ 2014-01-15 20:39 幻星宇 阅读(546) 评论(0) 推荐(0)
摘要:今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法。即:$str = ‘aaaaaa’;if(strlen($str) > 6)VSif(!isset($str{6})晚上自己用例子简单测试下,情况基本属实,特此记录下。后者效率几乎是前者的3倍。具体原因是,在PHP中,所有的变量都是用一个结构-zval来保存的,strlen虽然是直接获取其中的len,但是仍然有一次函数调用,而isset是PHP的语法结构,所以更快!示例:1 6){6 // echo 1;7 }8 9 echo microtime(1) - $sTime;输出:0.0003559589... 阅读全文
posted @ 2014-01-15 17:29 幻星宇 阅读(317) 评论(0) 推荐(0)
摘要:参考网址:php对csv文件的常用操作集合http://blog.xhbin.com/archives/7481,下载CSV格式文档唯一需要特别注意的是编码。 1 2,生成.csv文件(不下载) 1 $action = $_GET['action']; 2 if ($action=='make'){ 3 $fp = fopen("csv.csv","a"); //打开csv文件,如果不存在则创建 4 $data_arr1 = array("10001","10002","1 阅读全文
posted @ 2014-01-11 14:59 幻星宇 阅读(6884) 评论(0) 推荐(0)
摘要:常用的配置: ServerAdmin romy@redidai.com DocumentRoot "D:/var/www/user_admin/" ServerName user_admin.redidai.com ErrorLog "logs/romy-redidai.com-error.log" CustomLog "logs/romy-redidai.com-access.log" common allow from all order allow,deny AllowOverride All Di... 阅读全文
posted @ 2013-12-16 10:37 幻星宇 阅读(158) 评论(0) 推荐(0)
摘要:1.post提交数据$postData = array( 'paramCity' => array(array('id' => $city_id, 'day' => $city_days, 'name' => $city_name)), 'paramAttr' => $paramAttr, 'paramBiqu' => $must_go ? $must_go['param_value'] : 4, //必去控制 'paramPlayRhyt 阅读全文
posted @ 2013-12-11 10:55 幻星宇 阅读(387) 评论(0) 推荐(0)
摘要:假设数组有1000个元素,键值为小于1000000的无序的正整数,且不连续,如下$arr=array(1=>'sadas',20=>'aasd',5002=>'fghfg',190023=>'rty',248=>'kj',76=>'sddd'...);现在要获取数组$arr中键的值大于500小于600的元素,不用foreach完全循环一遍的话是否有更高效的算法? 1 'sadas',20=>'aasd',5002=>&# 阅读全文
posted @ 2013-12-09 09:54 幻星宇 阅读(400) 评论(0) 推荐(0)
摘要:此前,研发频道曾发布《直接拿来用,10个PHP代码片段》,得到了网友们的一致好评。本文,笔者将继续分享九个超级有用的PHP代码片段。当你在开发网站、应用或者博客时,利用这些代码能为你节省大量的时间。一、查看邮件是否已被阅读当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。 1 二、从网页中提取关键字一段伟大的代码片段能够轻松的从网页中提取关键字。$meta = get_meta_tags('http://www.emoticode.net/');$keywords = $meta['keywo 阅读全文
posted @ 2013-12-09 09:52 幻星宇 阅读(312) 评论(0) 推荐(1)
摘要:php中数组自定义排序方法有很多,现在只提usort();不会保留原有键名。unsort调用方法就是unsrot($arr,func);注意:如果func是写在当前类中的话,那么调用的方式是unsort($arr, array($this, func)); 阅读全文
posted @ 2013-12-06 16:01 幻星宇 阅读(405) 评论(0) 推荐(0)
摘要:当rand($number)或者mt_rand($number)的时候,$number太大,超过pow(2,31) - 1;即整型最大值的时候,会出现负数。如果只是单纯转换成整数而已的话,可以采用sprintf('%u', $number)来处理,如果是概率统计,过滤一定的范围的话,可以看看如下解决方案: 1 public function my_mt_rand($randMaxValue) { 2 $intMaxValue = pow(2,31) - 1; //rand函数最大值 3 $maxValueLen = strlen($randMaxValue... 阅读全文
posted @ 2013-12-06 15:56 幻星宇 阅读(2360) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 18 下一页