PHP
文章平均质量分 51
LHN_hpu
广告系统/数据平台/php/Golang
展开
-
Laravel学习笔记2
上次说到了Laravel的自动加载,核心在于用循环把所有的类文件全部注册,在一口气使用spl_autoload_register()全部注册进去。这次来看看入口文件的引入的app.php是干嘛的。$app = require_once __DIR__.'/../bootstrap/app.php';然后进去app.php,看到这个$app = new Illum原创 2016-10-01 20:33:22 · 460 阅读 · 0 评论 -
PHP关于二叉树的前序中序后序遍历操作
<?phpecho "PHP树的操作";/* * 二叉树遍历 */class Node{ public $value; public $left; public $right;}//前序遍历 遍历根节点->遍历左子树->遍历右子树function preorder($root){ $stack = array(); //每次都放一个节点入栈 array_push($原创 2016-08-02 11:33:05 · 1405 阅读 · 0 评论 -
向php传入参数的三种方法。
/* * 方法一 使用$argc $argv * 在命令行下运行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456 */// if ($argc > 1){// print_r($argv);// } /** * 运行结果 *转载 2016-07-21 11:56:34 · 7797 阅读 · 0 评论 -
PHP四种排序
<?phpini_set("error_reporting","E_ALL & ~E_NOTICE"); /* * PHP各类排序算法总结 */$arr = array();$bubblearr = array();$selectarr = array();for($i = 0;$i<2000;$i++){ $arr[$i]=rand(1,9999999);}原创 2016-07-21 11:34:13 · 294 阅读 · 0 评论 -
Paypal开发思路
这几天应任老师的要求在做关于paypal的集成开发的事情,一开始对支付流程没有什么概念,于是就各种百度,了解到开发支付功能(快速支付)分为以下几个阶段(我所用的为Thinkphp框架):1. 制作表单,通过该表单提交关于订单的一些信息,如business(接受付款账号),item_name(商品名称),amount(价格),notifyurl,returnurl等。在C:\原创 2016-07-19 14:26:34 · 504 阅读 · 0 评论 -
PHP开发APP接口
APP接口简介封装通信接口的方法:服务器端->数据库 |缓存 ->调用接口->客户端APP接口介绍:APP(通信)接口定义:接口地址:http:xxxxx接口文件 :api.php处理一些业务逻辑接口数据:xml格式或者json但是现在一般都是json了吧。。php(json) json_encode($arr);php(xml)header("co原创 2016-07-25 21:38:43 · 406 阅读 · 0 评论 -
自己尝试着写PHP扩展
首先很重要的一句话PHP+C/C++,基本上你可以做任何事情。完全不需要学习其他编程语言了。以前我是比较不喜欢C++的,因为自己懒,C++太复杂,不好学。但是现在学习写PHP扩展的话,就必须要学C++了。写PHP扩展的话,首先需要这几个东西autoconf / gcc / make / php5 / php5-dev当然linux我选择的是ubuntu,原创 2016-05-23 11:48:06 · 638 阅读 · 0 评论 -
检测文件类型的另外一种思路
今天用swoole的时候要获取后缀名,去网上找了找资料,发现了一个非常有意思的反常规的获取文件后缀的方式,值得学习一下。一言不合就贴代码: $tempfile = @fopen($img, "rb"); $bin = fread($tempfile, 2); //只读2字节 fclose($tempfile);转载 2016-05-21 16:41:08 · 378 阅读 · 0 评论 -
PHP安装ionCube插件报错The Loader must appear as the first entry in the php.ini file in Unknown的解决方法
如果以前装有Zend Optimizer,安装ionCube会和Zend Optimizer发生冲突,再执行/usr/local/php/php-fpm reload 时会发生如下错误:The Loader must appear as the first entry in the php.ini file in Unknown 须将Zend Optimizer的代码放在ionCu原创 2016-05-17 22:56:27 · 2654 阅读 · 0 评论 -
PHP多进程编程实例
写的很棒!所以转载了!这篇文章主要介绍了PHP多进程编程实例,本文讲解的是在Linux下实现PHP多进程编程,需要的朋友可以参考下羡慕火影忍者里鸣人的影分身么?没错,PHP程序是可以开动影分身的!想完成任务,又觉得一个进程太慢,那么,试试用多进程来搞吧。这篇文章将会介绍一下PHP多进程的基本需求,如何创建多进程以及基本的信号控制,暂时不会告诉你如何进行进程间通信和信息共转载 2016-05-04 22:57:45 · 329 阅读 · 0 评论 -
关于PHP的多线程扩展pcntl的一些测试
前几天朋友有一个需求,就是需要做一个二维码的东西,看他的需求挺大,需要做几万个。但是PHP不是java没有多线程的概念,虽然用swoole可以实现,但是我感觉还是比较麻烦的,最后试验了一下pcntl作为多进程跑,看看需要多长时间。linux安装pcntl扩展之后就开始写测试代码了。<?php header("Content-Type:utf-8"原创 2016-05-15 21:43:53 · 2640 阅读 · 0 评论 -
PHP求数组的差集和交集
array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成。其形式如下:1array array_intersect(array array1,array array2[,arrayN…])下面这个例子将返回在$fruit1数组中出现的且在$fruit2和$转载 2016-09-14 10:31:25 · 488 阅读 · 0 评论 -
PHP合并和追加数组
合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:1array array_merge (array array1 array2…,arrayN)这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前转载 2016-09-14 10:37:39 · 55141 阅读 · 0 评论 -
PHP trait
Trait自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。T转载 2016-09-28 22:46:23 · 709 阅读 · 0 评论 -
总算搞定了,乐逗游戏校招面试经验汇总
首先,感谢一直以来支持我的家人以及众多的小伙伴们。好了,我啰嗦废话了,直接上面经: 经过了简历筛选,笔试之后,我很荣幸的收到了乐逗游戏的面试邀约。一面(视频面试):面试我的是一个年轻的哥哥,我估计他是在公司面试的我。开始老套路,先自我介绍,然后问我一些基本情况值得一点注意的是,他对我在学校的实践和感兴趣,比如说我所在的这个团队呀什么的。问的比较多。然后问了我几个问题:1原创 2016-10-23 19:38:07 · 4890 阅读 · 2 评论 -
Lavavel5学习笔记1
Laravel被称为“全栈”式框架,因为它处理从网络服务到数据库管理,直到HTML生成的一切事情,一个垂直集成的web开发环境能给开发者提供更好的体验。一个典型的程序员通过命令行工具与Laravel交互,生成和管理Laravel项目环境。Laravel带有一个名为Artisan的优秀的命令行工具,可以用它来生成框架代码和数据库架构,Artisan能够处理从数据库架构迁移到资源和配置管理的一原创 2016-09-27 09:51:13 · 970 阅读 · 0 评论 -
php自定义函数call_user_func和call_user_func_array详解
在laravel中找到call_user_func和call_user_func_array函数,然后百度下他的用法,在此做下记录:用法:function a($b,$c) { echo $b; echo $c; } call_user_func('a', "111","222"); call_user_func('a', "333","444"); //显示 111 222转载 2016-09-26 22:41:29 · 658 阅读 · 0 评论 -
PHP如何判断一个数组是一维的还是二维的
1.首先我们有一个PHP内置函数 count();count(array,mode); array是数组,mode默认为0,1是递归的计数<?php if(count($arr) == count($arr,1)){ echo "是一维";}else{ echo "不是一维";}原创 2016-09-14 16:28:39 · 10530 阅读 · 0 评论 -
PHP的instanceof关键字
PHP5的另一个新成员是instdnceof关键字。使用这个关键字可以确定一个对象是类的实例、类的子类,还是实现了某个特定接口,并进行相应的操作。在某些情况下,我们希望确定某个类是否特定的类型,或者是否实现了特定的接口。instanceof操作符非常适合完成这个任务。instanceof操作符检查三件事情:实例是否某个特定的类型,实例是否从某个特定的类型继承,实例或者他的任何祖先类是否实现了特定的转载 2016-09-14 11:27:12 · 309 阅读 · 0 评论 -
PHP增加和删除数组元素(模仿堆栈和队列)
有时候我们需要扩展一个数组,或者删掉数组的一部分,PHP为扩展和缩小数组提供了一些函数。对于那些希望模仿各种队列实现(FIFO、LIFO)的程序员来说,这些函数可以提供便利。顾名思义,从这些函数的函数名(push、pop、shift和unshift)就清楚地反映出其作用。PS:传统的队列是一种数据结构,删除元素与加入元素的顺序相同,就称为先进先出,或FIFO。相反,栈是另外一种数据结构,其转载 2016-09-14 11:04:14 · 1199 阅读 · 0 评论 -
PHP查找与搜索函数
查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。in_array()函数in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回false。其形式如下:1boolean in_array(mixed needle,array haystack[,boolean stri转载 2016-09-14 10:58:51 · 1200 阅读 · 0 评论 -
PHP获取数组的键与值
使用数组的过程中经常要遍历数组。通常需要遍历数组并获得各个键或值(或者同时获得键和值),所以毫不奇怪,PHP为此提供了一些函数来满足需求。许多函数能完成两项任务,不仅能获取当前指针位置的键或值,还能将指针移向下一个适当的位置。获取当前数组键 key()key()函数返回input_array中当前指针所在位置的键。其形式如下:1mixed转载 2016-09-14 10:44:05 · 7245 阅读 · 0 评论 -
PHP数组元素的顺序和逆序排列
对一个数组的元素排序是很常见的编程任务,比如顺序、逆序,还有排序是否保持元素的键值对问题,下面开始研究下这些问题。sort()函数sort()函数对数组进行排序,各元素按值由低到高的顺序排列。其形式如下:1void sort (array array[,int sort_flags])sort()函数不转载 2016-09-14 10:39:44 · 9907 阅读 · 0 评论 -
pclzip的用法
PclZip介绍 PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压 缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作,所以相当方便使用。PclZip定义一个PclZip类别,其类别物件可视为一个ZIP档案,亦提供method来进行处理。 如何使用PclZip转载 2016-04-28 21:26:30 · 743 阅读 · 0 评论 -
PHP实现文件下载
$file=fopen('文件地址',"r");header("Content-Type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: ".filesize('文件地址'));header("Content-Disposition: attachme原创 2016-04-28 21:20:12 · 387 阅读 · 0 评论 -
关于THINKPHP中使用kindetior编辑器输出的问题
要做一个新闻发布页面。编辑的时候在编辑器是预览显示是正常的。但是用thinkphp显示到前台的时候会直接显示出HTML标签。一直没解决。最后两个函数解决了。foreach ($info as $key => $val) { $info[$key]['doc_introduce']=stripslashes(htmlspecialchars_decod原创 2015-04-14 15:54:10 · 747 阅读 · 0 评论 -
关于UEditor配合TP框架使用
最近项目需要一个富文本编辑器,以前用kinditor发现存在漏洞,所以放弃了老式的kinditor。废话不多说开始。先引用、 script type="text/javascript" charset="utf-8"src="{:C('APP_ADMIN_COMMON')}/js/ueditor/umeditor.config.js">script>script type="t原创 2016-03-06 14:11:49 · 4243 阅读 · 0 评论 -
PHP十二种设计模式
PSR-0规范的设计基础1.全部使用命名空间2.所有php文件必须自动载入,不能有include/requirespl_autoload_register3.单一入口模式1.三种基本的设计模式工厂模式用一个工厂方法去替换掉一个newclass Factory{static function createDatabase(){原创 2015-05-31 10:53:18 · 938 阅读 · 0 评论 -
关于ThinkPHP遍历后jquery失效的问题
用thinkphp开发的时候我用ajax传值给后台,才发现只有第一个值可以实现功能。后面用foreach遍历的都不能使用。我也不知道怎么回事。先留在这里,以后在解决!原创 2015-05-02 10:04:44 · 546 阅读 · 0 评论 -
ThinkPHP的模板分割的总结
第一次做使用ThinkPHP框架做项目没有想那么多。于是默认的模板分隔符是用的{}超级坑有木有!js和CSS都不能替换掉有木有!以后坚决不能用{}要用这个!!原创 2015-04-16 16:26:59 · 531 阅读 · 0 评论 -
PHP获取当前目录和相对目录的方法
// 获取当前目录echo realpath("."). ""; echo getcwd() . ""; // 获取上级目录echo realpath(".."). ""; // 获取网站根目录echo $_SERVER['DOCUMENT_ROOT'];// 获取目录信息$path_parts = pathinfo(__FILE__); echo $path_parts["di转载 2014-12-04 17:45:53 · 904 阅读 · 0 评论 -
PHPExcel使用心得
下面是总结的几个使用方法include 'PHPExcel.php';include 'PHPExcel/Writer/Excel2007.php';//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的创建一个excel$objPHPExcel = new PHPExcel();保存excel—2007格式$objWriter = n转载 2014-12-04 17:49:59 · 597 阅读 · 0 评论 -
推荐一个好的写入数据库的函数
function insert($table,$array){ $keys=join(",",array_keys($array)); $vals="'".join("','",array_values($array))."'";/*经典的字符串拼接*/ $sql="insert into {$table}($keys) values({$vals})"; if(mysql_query($原创 2014-12-03 07:32:29 · 503 阅读 · 0 评论 -
树状递归查找
//树状等级查找//所有数据//从mysql里面输出的全部是字符串类型$list = array( array('cat_id'=>'8','cat_name'=>'分类FFF','sort_order'=>'30','parent_id'=>'1'), array('cat_id'=>'1','cat_name'=>'分类AAA','sort_order'=>原创 2014-11-25 19:27:24 · 543 阅读 · 0 评论 -
PHP环境搭建(非集成)
PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。 一、准备工作-下载所需软件Apache httpd-2.转载 2014-11-25 19:30:27 · 1079 阅读 · 0 评论 -
PHP一键比对更新MYSQL数据库的一些想法
帮一个朋友维护CMS,具体的还要有一键远程匹配数据库的功能。当时给的需求是:1.能够一键比对远程服务器上的数据库的表和字段。2.比对完成后,如果发现某表或者某字段缺失,那么就自动生成sql语句,来重新生成一个“补丁”开始以为很简单,其实还蛮复杂的。一开始就要进更新服务器(主服务器),感觉有点主从结构,读写分离的味道,233333;原创 2016-03-06 17:56:27 · 2657 阅读 · 0 评论 -
yii之路(初识Yii)
这篇文章主要是开始记录我自学Yii的一些路程。yii:高性能框架,代码重用率很高,惰性加载框架,速度超快,缓存,登录组建,助手(小物件,灵活创建表单,常见html代码),日志组件等等。适合开发大型web应用系统卧槽,美国华人开发的。呃看了一下,tp的核心文件大小是3M多,Yii是23M多。。。。重量级和轻量级就在这显示出来了。原创 2016-04-07 22:03:38 · 514 阅读 · 0 评论 -
Yii之路(第七)
翻了翻Yii支持的缓存技术,还挺多的。Apc缓存:APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。 系统缓存它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存缓存由用户原创 2016-04-11 22:09:26 · 2412 阅读 · 0 评论 -
Yii之路(第六)
系统应用组件: 我们可以通过Yii::app()调用系统的组件 User/session/request/db等等等 Yii::app()->user\系统组件 关于YII的提示信息 setFlash() 设置提示信息getFlash()读取提示信息hasFlash()判断提示信息有无例如:setFlash('原创 2016-04-11 22:08:43 · 2556 阅读 · 0 评论 -
Yii之路(第五)
yii框架里面有许多地方使用路径别名:System application zii 等 其中一种 输出路径别名:Yii::getPathOfAlias('system');Yii::getPathOfAlias('application'); RBAC Yii::app(原创 2016-04-11 22:07:59 · 2369 阅读 · 0 评论