php
啦啦啦lir
这个作者很懒,什么都没留下…
展开
-
php yield运行流程
<?phppublic function y($n){ echo 'start'; for ($i=0;$i<$n;$i++){ yield $i; } echo 'end';}$g = $this->y(5); //返回Generator示例【因为含yield关键词】foreach ($g as $k=>...原创 2020-03-17 16:04:58 · 297 阅读 · 0 评论 -
图解浏览器请求web服务器的过程、cgi以及fastcgi,以及php-cgi和php-fpm之间的区别和联系
转载 2020-02-24 11:11:47 · 350 阅读 · 0 评论 -
array原样写入txt
$file = "log.txt";$content=array( "name"=>"百度知道", "company"=>"百度在线", "city"=>"北京", "other"=>array( "edu"=>转载 2018-09-17 18:15:21 · 620 阅读 · 0 评论 -
php文件锁
// 阻塞模式[等待锁打开]: $fp = fopen("lock.txt", "w+"); if(flock($fp,LOCK_EX)) { echo "处理订单";// sleep(10); flock($fp,LOCK_UN); } echo "结束";// 非阻塞模式: $fp =...转载 2018-09-17 18:04:56 · 155 阅读 · 0 评论 -
null和空、0、false等四个值的比较
$a = null; $b = ''; $c = 0; $d = false; echo ($a == $b)?1:0; // 输出1 echo ($a === $b)?1:0; // 输出0 echo ($a == $c)?1:0; // 输出1 echo ($a === $c)?1:0; // 输出0 echo ($b == $c)?1:0; /...转载 2018-09-17 17:59:13 · 1048 阅读 · 0 评论 -
array_reduce、array_map
array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 $arr = array('2','3','4','5'); $new_arr = array_map('intval' , $arr);...原创 2018-09-03 18:34:01 · 728 阅读 · 0 评论 -
数组对比取差异的值
$data1 = [1,2,3]; $data2 = [3,4,5]; $d1 = array_intersect($data1,$data2);//取出重复的值 ['2'=>3] $d2 = array_diff($data1,$data2);//$data1对比去重,然后取剩余的值 ['0'...原创 2018-09-03 17:41:36 · 1243 阅读 · 0 评论 -
二维数组按某字段排序
$data = [ ['name'=>'李四','age'=>15], ['name'=>'王五','age'=>23], ['name'=>'赵六','age'=>20], ]; foreac...原创 2018-09-03 17:34:27 · 526 阅读 · 0 评论 -
一维数组去重
/* 创建一个包含重复值的,一共四个元素的数组 */ $array = array('green','blue','orange','orange','blue'); //法1[效率最低] $array = array_unique($array); //法2 /* 翻转数组,你将会得到唯一键值的数...转载 2018-08-30 09:56:11 · 2074 阅读 · 0 评论 -
php2截取指定2字符串之间的数
function get_between($input, $start, $end) { $substr = substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1)); return $substr; } ...转载 2018-09-14 10:26:00 · 349 阅读 · 0 评论 -
curl get,post带header
function curlRequest($url, $params, $is_post = false, $time_out = 10, $header){ $str_cookie = isset($ext_params['str_cookie']) ? $ext_params['str_cookie'] : ''; $ch = curl_init();//初始化curl $metho...原创 2018-09-14 13:29:50 · 1988 阅读 · 0 评论 -
php抓取网页phpQuery和simple_html_dom
include 'simple_html_dom.php'; //面向过程方式2种读取方式 $html = file_get_html('http://www.baidu.com'); $html = str_get_html(file_get_contents('http://www.baidu.com')); //面向对象方式2种读取方式 $html = new simple_...转载 2018-09-14 18:04:22 · 761 阅读 · 0 评论 -
get请求拼接url
/** * combineURL * 拼接url * @param string $baseURL 基于的url * @param array $keysArr 参数列表数组 * @return string 返回拼接的url */ public function combineURL($b...转载 2018-10-12 13:37:49 · 2278 阅读 · 0 评论 -
php获取header头信息
$ignore = array('host','accept','content-length','content-type');$headers = array();foreach($_SERVER as $key=>$value){ if(substr($key, 0, 5)==='HTTP_') { $key = substr($key, 5); ...转载 2018-10-12 16:24:51 · 3068 阅读 · 0 评论 -
php多条件排序
function sortArrByManyField(){ $args = func_get_args(); if(empty($args)){ return null; } $arr = array_shift($args); if(!is_array($arr)){ ...转载 2018-11-06 17:02:02 · 893 阅读 · 0 评论 -
php容器的简单实例【反射,依赖注入】
class car{ public function pay(){ return 100; }}class person{ public $obj; public $name; public function __construct(car $obj,$name = '张三') { $this->...原创 2019-08-19 16:34:07 · 364 阅读 · 0 评论 -
call_user_func和call_user_func_array性能对比
<?phperror_reporting(E_ALL | E_STRICT);define('ITERATIONS', 2000000);class Bench{ private $bench_name; private $start_time; private $end_time; public function start($name) ...原创 2019-08-29 21:52:03 · 406 阅读 · 0 评论 -
上传[文件/图片]类使用反射机制创建对应类
<?php//上传[文件/图片]类使用反射机制创建对应类class ClassArr{ public function uploadClassStat(){ return [ 'image'=>'\App\Lib\Upload\Image', 'video'=>'\App\Lib\Upload\Vi...原创 2019-08-29 22:12:17 · 151 阅读 · 0 评论 -
redis简单封装
<?phpclass Predis{ public $redis = ''; private static $_instance = null; public static function getInstance(){ if(empty(self::$_instance)){ self::$_instance = ...原创 2019-08-29 22:17:54 · 184 阅读 · 0 评论 -
require和include路径问题
a/a.php b/b.php a.php的内容如下,无论在哪里require,目录多么复杂,a.php都是以a.php的路径为参照来require b.php的 require dirname(__FILE__) .'/'. '../b/b.php';原创 2018-04-06 16:44:51 · 415 阅读 · 0 评论 -
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION
在php网站后台静态化生成的时候报错Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in解决办法是将curl_setopt($ch, CURLOPT_FOLLOWL...转载 2018-02-21 18:30:24 · 671 阅读 · 0 评论 -
PHP中如何给日期加上一个月
//比如现在时间是“2010-10-06”,加一个月。echo date("Y-m-d", strtotime("+1 months", strtotime("2010-10-06")));echo(strtotime("now"));echo(strtotime("3 October 2005"));echo(strtotime("+5 hours"));echo(strtot转载 2018-02-09 10:55:44 · 1442 阅读 · 0 评论 -
PHP curl post提交表单
PHP中curl是一个很常用的函数,网站抓取,接口对接等都会用到这个函数:简单做过代码测试:[php] view plain copy<?php //这2种方式我试了都是可以的 //$c_url_data = "name=gaoxuxu&pass=123"; $c_url_data = array('name'=>'gaoxuxu','...转载 2018-02-08 22:17:57 · 1549 阅读 · 0 评论 -
获取远程文件内容
<?php // 获取远程文件内容 // ----第一种方法---------file_get_contents()----------- $url = 'http://www.baidu.com/'; $contents = file_get_contents($url); //如果出现中文乱码使用下面代码 //$content = iconv(“gb2312″, “ut...原创 2018-02-08 22:15:59 · 1179 阅读 · 0 评论 -
写文件
<?php //写文件 //方案1 fopen(),fwrite(),fclose() function writeFile($path,$string){ if (empty($path)) { return false; } $dir = dirname($path);//返回路径中的目录部分...原创 2018-02-08 22:15:48 · 153 阅读 · 0 评论 -
读取文件
<?php //读取文件 // header("Content-Type:text/html;charset=utf-8"); // -----第一种方法-----fread()读-------- $file_path = "test.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str =...原创 2018-02-08 22:15:38 · 181 阅读 · 0 评论 -
php 防止POST重复提交
<input name="sub_rand" type="hidden" id="sub_rand" value="<?php echo rand(10000,100000000000);?>" /> if($_SESSION['SUB']==$_POST['sub_rand']){ echo '<script>alert("转载 2018-03-04 13:15:19 · 727 阅读 · 0 评论 -
PHP 命名空间与自动加载机制介绍
include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。但这只是让代码变得更简洁了一些,引...转载 2018-04-06 15:25:24 · 155 阅读 · 0 评论 -
PDO预处理
可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式。预处理语句中为变量使用数组指定预处理变量 1、准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatement PDO::prepare:类似exec将一条SQL语句发送给Mysql服务器 //PDO::prepare 能够自动的准备一个预处理语句,用户需要准备的只是预处理所要执行的语句 ...转载 2018-04-07 21:12:02 · 526 阅读 · 0 评论 -
php下载文件
2种方法1直接做个超链接,地址为文件的地址<a href="文件地址">下载</a>2流输出$file=fopen('文件地址',"r");header("Content-Type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: ".转载 2018-03-13 13:26:39 · 189 阅读 · 0 评论 -
正则反斜杠解释
1、/ 不管它,原样显示2、\ 1个的话,原样显示3、\\ 2个的话,转义第2个\,只显示\4、\\\ 3个的话,第1个转义第2个,显示\,第3个\原样显示,也就是2和3的组合5、\\\\ 4个的话,3和3的组合,显示\\,其他同理5、\” 转义第2个”,显示”...原创 2018-03-13 11:23:25 · 7663 阅读 · 0 评论 -
如何在多台web服务器上共享session?
在现在的大型网站中,如何实现多台服务器中的session数据共享呢 当使用多台服务器架设成集群之后,我们通过负载均衡的方式,同一个用户(或者ip)访问时被分配到不同的服务器上,假设在A服务器登录,如果在B服务器拿不到用户的登录信息session。这时访问到B服务器时就出现未登录情况。 所以如何对于这种情况做到共享session至关重要。 以下给出一些解决方案:(来源网络以及自己的一...转载 2018-03-12 11:53:00 · 441 阅读 · 0 评论 -
PHP中strtr字符串替换用法详解
这篇文章主要介绍了PHP中strtr字符串替换用法,以大量实例详细解读了strtr字符串替换的用法与技巧,并与str_replace做了对比以加深理解,需要的朋友可以参考下本文实例讲述了PHP中strtr字符串替换用法。分享给大家供大家参考。具体分析如下:strtr(string,from,to)或者strtr(string,array)首先针对strtr函数第一种方式,我们看看下面的举例,代码如...转载 2018-03-12 11:29:33 · 338 阅读 · 0 评论 -
php中this,self,parent三个关键字
this是指向对象实例的一个指针self是对类本身的一个引用parent是对父类的引用(1) thisthis就是指向当前对象实例的指针,不指向任何其他对象或类。1 <?php23 class UserName4 { 5 //定义成员属性 6 private $name;7 8 //定义构造函数9 function __constr...原创 2018-02-08 22:15:29 · 135 阅读 · 0 评论