随笔分类 - php
php的运行原理、cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别
摘要:最近项目中本地测试环境遇到了windows环境下的nginx使用file_get_contents/curl访问php文件导致的阻塞问题,一直在找解决的方案,这个问题研究了三天终于找到了解决方案,特别因为这个我也对php的运行原理产生了兴趣,所以这里对此进行一定程度的记录,可能会有错漏的地方,欢迎指
阅读全文
CGI、FastCGI和PHP-FPM关系图解
摘要:目录 基础 Module方式 CGI FastCGI介绍 FastCGI简单介绍 FastCGI的工作原理 PHP-FPM介绍 总结 参考资料 在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解,很难搭建出高性能的服务器。接下来我
阅读全文
利用PHP取二进制文件头判断文件类型
摘要:'exe', 7784 => 'midi', 8297 => 'rar', 255216 => 'jpg', 7173 => 'gif', 6677 => 'bmp', 13780 => 'png');foreach($files as $file) { $fp = fop...
阅读全文
phpmyadmin连接,管理多个mysql服务器
摘要:方法一,修改phpMyAdmin/libraries/config.default.php修改配置文件前,最好先备份一下,万一改错地方了,显示不了,就郁闷了。/** * allow login to any user entered server in cookie based authentication * * @global boolean $cfg['AllowArbitraryServer'] */$cfg['AllowArbitraryServer'] = true; //默认是false,改成true修改前,服务器这个输入框是不存在的,变成true
阅读全文
php 图片处理类
摘要:*/class Image { public $uploadImagePath = './tmp';//上传图片地址 public $cropImagePath = './tmp';//切图图片地址 public $fileExt;//允许的文件格式 public $fileSize;//字节,默认2M public function __construct() { $this->fileExt = array('.jpg','.png','.jpeg','.gif'); $this->
阅读全文
php 解析 视频 信息 封面 标题 图片 支持 优酷, 土豆 酷6 56 新浪 qq播客 乐视 乐视
摘要:原文地址:http://www.lianyue.org/2013/2497/PHP 解析视频信息url 或 vid: '. $select .'';if ( !$value ) { die;}$class_video = new class_video;echo '';echo "\n\n\n";print_r( call_user_func_array( array( $class_video, $all[$type] ), array( $value ) ) );echo "\n\n\n";?>youku
阅读全文
用PHP将Unicode 转化为UTF-8
摘要:function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r); $ar = $r[0]; //print_r($ar); foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",
阅读全文
memcached 一致性hash原理
摘要:memcache 是一个分布式的缓存系统,但是本身没有提供集群功能,在大型应用的情况下容易成为瓶颈。但是客户端这个时候可以自由扩展,分两阶段实现。第一阶段:key 要先根据一定的算法映射到一台memcache服务器。第二阶段从服务器中取出缓存的值。但是有一个问题,比如其中一台服务器挂了,或者需要增加
阅读全文
抽象类和接口的区别(php实例)
摘要:<?php//抽象类-可以是空类,不能创建对象,不能实例化,只能被继承abstract class absFirst{//关键字abstract protected $absBl = '$absBl'; //可以定义变量,关键字[public|protected|private] const ABSCL = 'ABS-CL';//可以定义常量 abstract function absFunFirst($cs=array());//抽象方法关键字abstract,可以有参数,可以有默认值,没有方法体 public function absFunSecond
阅读全文
抽象类和接口的区别(php实例)
摘要:absBl}”,第一个常量是“".self::ABSCL."”"; } } //接口1-可以是空的接口-不能定义变量-不能定义其他成员方法 interface intFirst{//关键字interface const INTCLF = 'INT-CLF';//可以定义常量 public function intFunFirst($ic=array());//接口方法关键字...
阅读全文
PHP中的(伪)多线程与多进程
摘要:(伪)多线程:借助外力 利用WEB服务器本身的多线程来处理,从WEB服务器多次调用我们需要实现多线程的程序。QUOTE:我们知道PHP本身是不支持多线程的, 但是我们的WEB服务器是支持多线程的.也就是说可以同时让多人一起访问. 这也是我在PHP中实现多线程的基础.假设我们现在运行的是a.php这个文件. 但是我在程序中又请求WEB服务器运行另一个b.php那么这两个文件将是同时执行的.(PS: 一个链接请求发送之后, WEB服务器就会执行它, 而不管客户端是否已经退出)有些时候, 我们想运行的不是另一个文件, 而是本文件中的一部分代码.该怎么办呢?其实可是通过参数来控制a.php来运行哪一.
阅读全文
PHP中的(伪)多线程与多进程
摘要:(伪)多线程:借助外力 利用WEB服务器本身的多线程来处理,从WEB服务器多次调用我们需要实现多线程的程序。 QUOTE: 我们知道PHP本身是不支持多线程的, 但是我们的WEB服务器是支持多线程的. 也就是说可以同时让多人一起访问. 这也是我在PHP中实现多线程的基础. 假设我们现在运行的是a.p
阅读全文
php定时计划任务的实现原理
摘要:根据php手册简单介绍一些相关的知识:1.连接处理:在 PHP 内部,系统维护着连接状态,其状态有三种可能的情况:0 - NORMAL(正常)1 - ABORTED(异常退出)2 - TIMEOUT(超时)当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击 STOP 按钮导致的。当连接时间超过 PHP 的时限时,TIMEOUT 状态的标记将被打开。可以决定脚本是否需要在客户端中断连接时退出。有时候让脚本完整地运行会带来很多方便,即使没有远程浏览器接受脚本的输出。默认的情况是当远程客户端
阅读全文
php 循环跳出问题
摘要://php当前循环为1,循环由里到外依次递增,break默认为1,例如跳出第2层循环for ($i=0;$i<3;$i++){ foreach (array(1,2,3) as $val){ foreach (array(1,2,3) as $val){ echo "1层循环<br/>"; break 2; //跳出第2层循环 } echo "2层循环<br/>"; } echo "3层循环<br/>";}//结果://1层循环//3层循...
阅读全文
常用算法和时间复杂度(php)
摘要:按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3)//二分查找O(log2n)function erfen($a,$l,$h,$f){ if($l >$h){ return false;} $m = intval(($l+$h)/2); if ($a[$m] == $f){ return $m; }elseif ($f < $a[$m]){ return erfen($a, $l, $m-1, $f); }else{ ...
阅读全文
地区分类排序算法(php)
摘要:写一个函数,将数据$array = array( 0=>array("","河北"), 1=>array("","北京"), 2=>array(0,"保定"), 3=>array(1,"海淀"), 4=>array(3,"中关村"), 5=>array(2,"涿州"));处理后返回如下:河北-保定--涿州北京-海淀--中关村 function typeArray($array){ $con = nul
阅读全文
统计log日志并排序程序(php)
摘要:需求:找到访问小图最多的前三个ip,日志文件20121030.log0 192.168.1.102 small_0.gif1 192.168.1.113 big_1.gif2 192.168.1.110 small_2.gif3 192.168.1.114 small_3.gif4 192.168.1.118 small_4.gif5 192.168.1.109 big_5.gif6 192.168.1.110 small_6.gif7 192.168.1.102 small_7.gif8 192.168.1.110 small_8.gif9 192.168.1.119 big_9.gif10
阅读全文
浙公网安备 33010602011771号