
PHP
文章平均质量分 60
rorntuck7
这个作者很懒,什么都没留下…
展开
-
ThinkPHP Where 条件中使用表达式
Where 条件表达式格式为:$map['字段名'] = array('表达式', '操作条件');其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:ThinkPHP运算符 与 SQL运算符 对照表TP运算符SQL运算符例子实际查询条件eq=$map['id转载 2016-03-28 14:19:58 · 411 阅读 · 0 评论 -
stream_context_create()模拟POST/GET
有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟,改怎么做到呢?或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢?当然,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?其实,在 PHP 里已经有相关的函数实现了,这个函数就是接下来要讲的 stream_context_create()。$...转载 2018-04-26 16:32:30 · 383 阅读 · 0 评论 -
PHP 命名空间与自动加载机制
自动加载实现自动加载最简单的方式就是使用 __autoload 魔术方法通过这个简单的例子可以发现,在类的实例化过程中,系统所做的工作大致是这样的:/* 模拟系统实例化过程 */function instance($class){ // 如果类存在则返回其实例 if (class_exists($class, false)) { return new $clas...原创 2018-06-23 14:35:09 · 663 阅读 · 0 评论 -
php 实现hash表
php的数组实际上就是hash_table,无论是 数字索引数组array(1, 2, 3) 还是关联数组array(1 => 2, 2=> 4)等等。 PHP中哈希表结构假定向PHP数组中插入三个元素分别为Bucket1,Bucket2,Bucket3,其中Bucket1和Bucket2的key具有相同的哈希值。其在哈希表中存储如图所示:从上图可知,(1)哈希表中同一个哈希值对应元素...原创 2018-07-10 11:05:01 · 1389 阅读 · 0 评论 -
PHP declare(ticks=N); 的作用
一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种:1.Zend引擎每执行1条低级语句就去执行一次 register_tick_function() 注册的函数。可以粗略的理解为每执行一句php代码(例如:$num=1;)就去执行下已经注册的tick函数。控制某段代码执行时间,例如下面的代码虽然最后有个死循环,但是执行时间不会超过5秒。...转载 2018-10-13 11:05:56 · 295 阅读 · 0 评论 -
php多进程使用场景
处理文件当一个文件包含许多任务(每个任务一行),并且各任务之间不存在执行的先后顺序关系,可以将文件进行分割(分割后的文件数量与进程数一致),然后使用多进程进行处理。例如,现在有10个邮箱账号存储在文件mailist.txt中,每次发送邮件需要耗时2s,则采用单进程依次发送完这些邮件需要耗时20。 如果采用多进程,例如3个进程进行处理,首先需要将文件按行数拆分成3个小文件,其中两个文件是4...转载 2018-10-18 18:20:56 · 290 阅读 · 0 评论 -
符合psr-1,2的编程实例
<?phpnamespace phpspider;abstract class Solier{ /** * 描述 * * @var string */ const THIS_IS_A_CONST = ''; // 常量全部大写下划线分割 /** * 属性描述 * * @var strin...原创 2018-10-19 11:29:33 · 113 阅读 · 0 评论 -
PHP多进程
PCNTL在PHP中进程控制支持默认是关闭的。您需要使用 --enable-pcntl 配置选项重新编译PHP的 CGI或CLI版本以打开进程控制支持。如果自带的PHP没有安装pcntl扩展,可以下载相同版本的源码,进入ext/pcntl使用phpize编译安装。Note: 此扩展在 Windows 平台上不可用。pcntl_fork用于创建子进程。成功时,在父进程执行线程内返回产生...转载 2018-10-17 11:36:43 · 156 阅读 · 0 评论 -
php的三种CLI常量:STDIN,STDOUT,STDERR
PHP CLI(command line interface)中,有三个系统常量,分别是STDIN、STDOUT、STDERR,代表文件句柄。 常量 描述 STDIN 一个已打开的指向stdin的流,可以用下方法来调用 <?php...原创 2018-11-10 11:41:40 · 490 阅读 · 0 评论 -
PHP性能优化利器:生成器 yield理解
如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响PHP代码运行时节省...转载 2018-11-14 18:30:37 · 171 阅读 · 0 评论 -
Tp5.2 定义中间件时的Closure $next怎么理解
定义中间件的步骤默认中间件存放位置 'default_namespace' => 'app\\http\\middleware\\',创建一个 Check中间件 <?phpnamespace app\http\middleware;class Check{ public function handle($request, \Closure $nex...原创 2018-11-16 15:23:25 · 3160 阅读 · 0 评论 -
PHP 自动捕获 Fatal Error
PHP 有捕获 Error 和 Exception 的函数设置一个用户的函数来处理脚本中出现的错误。set_error_handler($callback)//设置一个用户的函数来处理脚本中出现的异常。set_exception_handler($callback)测试异常捕获<?php//设置异常捕获函数set_exception_handler("my_...原创 2018-11-29 11:48:20 · 1237 阅读 · 0 评论 -
常见的 PHP 安全性攻击
1、SQL注入 SQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。还有一种是通过system()或exec()命令注入的,它具有相同的SQL注入机制,但只针对shell命令。$username = $_POST['username'];$query = "select * from auth where username = '".$usernam...转载 2018-04-26 10:19:26 · 522 阅读 · 0 评论 -
PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
1.PHP操作Redis之List1、lPush()/rPush()lPush()的语法格式是:$redis->lPush(key, value),作用是将value添加到链表key的左边(头部)。rPush()的语法格式是:$redis->rPush(key, value),作用是将value添加到链表key的右边(尾部)。2、lPushx()/rPushx()lPushx 将值v...原创 2016-09-28 10:34:14 · 15916 阅读 · 0 评论 -
解析php session_set_save_handler 函数的用法(将session存在数据库中的方法)
<?php /*============================文件说明======================================== @filename: session.class.php @description: 数据库保存在线用户session,实现在线用户功能! @notice: session过期时间一个小时,因为我们的站点是使转载 2016-04-28 10:53:34 · 4193 阅读 · 0 评论 -
用PHP将网页上的Canvas图像保存到服务器上的方法
前端HTML5 //这个函数将在页面完全加载后调用 function pageLoaded() { //获取canvas对象的引用,注意tCanvas名字必须和下面body里面的id相同 var canvas = document.getElementById('tCanvas'); //获取该canvas的2D绘图环境 var context = canvas.get原创 2016-05-05 12:17:50 · 4105 阅读 · 0 评论 -
禁止Html5在手机上屏幕页面缩放
html5页面,默认都允许用户缩放页面,或者在屏幕双击放大或缩小。即相当于这样设置 如果要禁止此情形,修改相应参数即可。转载 2016-05-20 11:58:29 · 384 阅读 · 0 评论 -
Laravel ——路由(中间件与路由组)
我们知道,路由是一个过程,分析来自客户端的请求按照路由规则分发至相应的处理逻辑。但有种情况,打个比方:后台。后台不是所有人都能访问的,我们在正式的处理逻辑前,需要做一个验证,比如验证是否具有权限或者请求的数据是否合法。这时候,路由过程的一部分——中间件就上场了。app/Http/Kernel.php中的 $middleware 数组是全局中间件,也就是说,任何一条路由都会被应用这些原创 2016-06-07 16:00:30 · 3442 阅读 · 0 评论 -
Composer 安装(window系统下)
PHP很多优秀的框架,例如Laravel等等,镜像都在国外,相关的包管理工具Composer也是在国外,所以安装失败的可能性很大,题主所示的就是因为连不上Composer。解决方法如下:去Composer 下载 文件名应该是composer.phar吧,把这个粘贴到你的php的文件目录下面是有php.exe文件的同级目录下,我自己是自定义的环境,有很多人都是用Xampp等原创 2016-06-05 10:57:02 · 572 阅读 · 0 评论 -
Laravel——路由(路由与控制器)
控制器路由我们之前代码示例中,看到了一个十分简单的控制器,但是要知道,定义了控制器你是无法直接使用的,要知道一个来自客户端的请求会经过路由,经过解析最终按照规则派发至具体的处理逻辑。我们知道如何定义一个路由,但之前的路由里包含了逻辑,我们如何将这个路由的逻辑转到控制器呢?我们希望通过http://yourdomain/访问到我们上面例子中的HomeController类的index方法原创 2016-06-06 16:48:48 · 641 阅读 · 0 评论 -
Thinkphp3.23中 行为扩展和插件机制介绍
行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为既可以独立调用,也可以绑定到某个标签(位)中进行侦听。3.2版里,有了一个插件的概念,和行为共用一个Hook类,所以放在一起说,原理上并无太大区别。1.行为扩展和插件机制 配置的方法 (大同小异)⑴行为扩展 在Application/Common/Conf目录下创建一个tags.php <?原创 2016-08-16 11:17:35 · 1558 阅读 · 0 评论 -
ubuntu 16.04 环境中安装 php7.0 redis扩展
安装配置步骤如下:1.root@ubuntu:/tmp# git clone -b php7 https://github.com/phpredis/phpredis.git2.root@ubuntu:/tmp# mv phpredis/ /etc/3.root@ubuntu:/tmp# cd /etc/phpredis4.root@ubuntu://etc/phpredis# phpize5....原创 2016-09-24 17:49:04 · 3621 阅读 · 0 评论 -
PHP操作Redis 有序集(Sorted Set) 的相关命令 (三)
1.zAdd()增加一个或多个元素,如果该元素已经存在,更新它的socre值虽然有序集合有序,但它也是集合,不能重复元素,添加重复元素只会更新原有元素的score值$redis->zAdd('key', 1, 'val1');$redis->zAdd('key', 0, 'val0');$redis->zAdd('key', 5, 'val5');$redis->zRange('ke原创 2016-09-29 14:39:12 · 14173 阅读 · 0 评论 -
PHP操作Redis KEY,String 的相关命令 (二)
1.PHP操作Redis之KEY1、DEL()移除给定的一个或多个key。如果key不存在,则忽略该命令。返回值:被移除key的数量。$redis->set('myname','ikodota');echo $redis->get('myname').''; # 返回:ikodota$redis->del('myname');# 返回 TRUE(1)var_dump($re原创 2016-09-29 10:27:50 · 8430 阅读 · 0 评论 -
PHP中引用的详解
1. PHP中引用的特性PHP中引用意味着用不同的名字访问同一个变量内容,引用不是C的指针(C语言中的指针里面存储的是变量的内容,在内存中存放的地址),是变量的另外一个别名或者映射。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身――变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的紧密...原创 2018-11-29 15:00:32 · 218 阅读 · 0 评论