关闭

将迭代器中元素(对象)放入数组中

/** * @param $obj * @return array */ public function iterator_array($obj) { $result = []; foreach (\$obj as \$row) { \$result[] = iterator_to_...
阅读(10) 评论(0)

php实现简易的搜索功能

好久没有看代码了,手生了,一直在盘算着转行的事; 1,今天看了一个接手的项目的源代码,发现一小段简易搜索的代码2,/** * 简易搜索 * @param $params * @param $black * @return array */ protected function _commonSearch($params, $bl...
阅读(19) 评论(0)

php实现页面静态化

PHP文件执行顺序语法解析 => 编译 => 运行动态程序1,连接数据库服务器或者缓存服务器。 2,获取数据 3,填充到模版 4,呈现给用户配置项output_buffering : 开启缓存函数ob_start() : 打开输出缓存 ob_get_contents() : 返回输出缓存区的内容 ob_get_clean():得到当前缓存区的内容并删除当前输出缓存。 ob_clean...
阅读(170) 评论(0)

for和foreach的效率比较

foreach的性能要比for要高;因为for循环要进行一个array.GetLength来获取数组最大下标。 当然只是相对的 1,如果只是读数据,选择foreach 2,如果只是写数据,选择for...
阅读(91) 评论(0)

nginx+php运行原理(以及nginx和php-fpm)

nginx服务器作用1,前端服务器:负责http请求解析转发,或者处理静态请求。轻量级,并发量高,可以作为反向代理,负载均衡。 应用服务器:负责调用某种语言的解释器,或则某某种语言写的程序,接受http请求,按照开发者意图做出动作,把结果返回给请求。Fastcgicgi:全称common gateway interface 是应用服务器与语言相关的处理程序之间的接口。 处理程序调用这个接口,...
阅读(160) 评论(0)

curl_init()和curl_multi_init()多线程的速度比较

php中curl_init()的作用很大,尤其是在抓取网页内容或文件信息的时候,例如之前文章curl获得header检测GZip压缩的源代码就介绍到curl_init()的强大。 curl_init()处理事物是单线程模式,如果需要对事务处理走多线程模式,那么php里提供了一个函数curl_multi_init()给我们,这就是多线程模式处理事务的函数。 curl_init()与cur...
阅读(172) 评论(0)

php中的curl的一些参数总结

curl可以根据是否是http或则是https选择加密发送的内容; 使用curl发送请求的基本流程 1,初始化连接句柄; 2,设置curl选项; 3,执行并获取结果; 4,释放curl连接句柄; 例子: //初始化 $ch = curl_init(); //设置选项 curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com"); cu...
阅读(272) 评论(0)

php模拟并发

并发请求理论描述:假设有一个client,程序逻辑是要请求三个不同的server,处理各自的响应。传统模型当然是顺序执行,先发送第一个请求,等待收到响应数据后再发送第二个请求,以此类推。就像是单核CPU,一次只能处理一件事,其他事情被暂时阻塞。而并发模式可以让三个server同时处理各自请求,这就可以使大量时间复用。 画个图更好说明问题: 前者为阻塞模式,忽略请求响应等时间,总耗时为700...
阅读(231) 评论(0)

curl的另外一种简便写法

$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_PORT => "8080", CURLOPT_URL => "http://121.42.185.57:8080/xservice/safes/5ccf7fc0f2f4/warning", CURLOPT_R...
阅读(227) 评论(0)

PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期

[php] view plain copy  $time1 = strtotime('2014-02-04'); // 自动为00:00:00 时分秒 两个时间之间的年和月份   $time2 = strtotime('2015-02-06');       $monarr = array();   $monarr[] = '2014-02'; // 当前月;   wh...
阅读(2231) 评论(0)

php与shell实现自动发布(简单实例)

php中一些函数与shell实现自动发布 以下是shell:...
阅读(495) 评论(0)

php 高并发解决(商城抢购问题2)

方案一:使用消息队列来实现 可以基于例如MemcacheQ等这样的消息队列,具体的实现方案这么表述吧 比如有100张票可供用户抢,那么就可以把这100张票放到缓存中,读写时不要加锁。 当并发量大的时候,可能有500人左右抢票成功,这样对于500后面的请求可以直接转到活动结束的静态页面。进去的500个人中有400个人是不可能获得商品的。所以可以根据进入队列的先后顺序只能前100个人购买成功。...
阅读(932) 评论(0)

php 高并发解决(商城抢购问题1)

最近在做一个团购项目,遇到个问题,就是在抢购、秒杀、抽奖等活动时,库存数量有限,但是同时下单人数超过了库存数量,就会导致商品超售问题。那么我们怎么来解决这个问题呢,我的思路如下:  sql1:查询商品库存 if(库存数量 > 0) {   //生成订单...   sql2:库存-1 } 当没有并发时,上面的流程看起来是如此完美,假设同时两个人下单,而库存只有1个了,在sql1阶段...
阅读(160) 评论(0)

接收get或post数据使用fwrite写入文件中,方便追踪错误;或其他几种缓存方式

// a+ 以追加以及创建文件的方式打开或创建文件 $fp = fopen("./1.log", "a+"); //用true使得变量返回, $a = var_export($_GET,true); //echo输出写入到文件中去 (追加) echo fwrite($fp, $a); fclose($fp);...
阅读(179) 评论(0)

配置php.ini文件,关闭错误提示,打开错误日志,设置错误日志路径

配置php.ini文件,关闭错误提示,打开错误日志,设置错误日志路径 打开php.ini配置文件; 找到display_errors = On;修改为:display_errors = Off; 找到log_errors = Off;修改为:log_errors = On; 开启日志记录:error_log = "\xampp\apache\logs\php_error...
阅读(1547) 评论(0)

php设计模式:工厂模式,

1,工厂模式 最大的优点是:创建对象。 通俗说,以前创建对象需要使用new,现在工厂模式把这个过程封装起来了。 假设不使用工厂模式:那么很多地方调用类a,代码就会这样子创建一个实例:new a(),假设某天需要把a类的名称修改,意味着很多调用的代码都要修改。...
阅读(178) 评论(0)

php计算日期间隔天数

1,方法一 $datetime1 = date_create('2010-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%r%a days'); 2,方法二 $date1 = strtoti...
阅读(250) 评论(0)

获取玩家是不是在某个时间点在线

//获取玩家是不是在某个时间点在线 private function getUserStatusInTime($time){ $numTime = strtotime($time); //20170128 $timeArray = $this->model->getRows('dmz_bill_' . $this->point_in_time . '.logout', "w...
阅读(94) 评论(0)

call_user_func函数和call_user_func_array函数

<?php /** * call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: **/ function nowamagic($a, $b){ echo $a; echo $b; } call_user_func('nowamagic', "111", "222"); call_user_func('nowamagic', "333", "444");...
阅读(88) 评论(0)

php 获取客户端的真实IP地址 和 检查客户端从什么地方过来的请求

/* * 函数功能: 获取客户端的真实IP地址 * * 为什么要用这个函数? * 因为我们线上Web服务器绝大部分都处于Netscaler(简称NS)后面,客户端访问的地址统一由NS调度 * 由NS调度的访问其实就是NS做了一层代理, 这期间就有一个问题, 因为真实的地址是内部IP请求的 * 当我们的应用去请获取 $_SERVER["REMOTE_ADDR"] 的时候, 得到的就是 ...
阅读(1370) 评论(0)
62条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:282639次
    • 积分:5098
    • 等级:
    • 排名:第6089名
    • 原创:233篇
    • 转载:145篇
    • 译文:0篇
    • 评论:20条
    最新评论