php
春风十里不如你jude
这个作者很懒,什么都没留下…
展开
-
Linux下配置 Keepalived(心跳检测部署)
首先呢,我想先给大家简单介绍一下什么是keepalived:Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器转载 2016-09-09 08:45:29 · 3168 阅读 · 0 评论 -
温故知新(六):排序介绍
排序方法这里扩展一下常用的排序方法,我认为排序是一个程序员的 基本功.基本概念 外部排序 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序.包括合并排序法 和 直接合并排序法. 内部排序 讲需处理数据加载到内存中进行排序.冒泡排序两两对比,进行交换,比较小的向左移; 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 1.对每一对相邻元素作同样的工作,从开始第一对到结原创 2016-09-22 12:00:24 · 272 阅读 · 0 评论 -
一道PHP面试题,求两个文件的相对路径
首先原题是这样子的:写一个函数,计算出两个文件的相对路径,如 $a = '/a/b/c/d/d.php',$b = '/a/b/1/2/c.php'计算出的$b相对于$a的相对路径应该是:../../c/d那么对于网上给出的答案,看了看貌似只能针对题目中给出的那个路径来计算,如果路径一变化,类似下面这样,那么那些程序好像没用了,当然有些是有用,但是还是报一些警告出来。。。。。例转载 2016-09-27 08:29:32 · 2088 阅读 · 0 评论 -
Ubuntu 16.04 安装 LAMP 及各种扩展
Apache2安装apt-get install apache2配置虚拟主机/etc/apache2/sites-available 目录下有 000-default.conf 文件 将000-default.conf 文件复制一份叫做 demo.conf 并修改以下几个参数ServerName demo.hd DocumentRoot /var/www/html/laravelapp/创建一个原创 2017-01-09 00:36:32 · 2863 阅读 · 0 评论 -
常见攻击方式与加密方式
明天要去百度钱包面试,整理出一些关于安全的一些东西.常见攻击方法sql 注入string 型SQL注入string 型sql注入一般是由对特殊字符过滤不严格导致的. NULL ’ ” \int型 sql 注入int 型sql注入 在数字后面加入其它关键字$res = "1 union select";echo $res; // 1解决办法: 1.开启GPC 对 COOKIE, POST,GE原创 2017-03-09 20:37:47 · 1063 阅读 · 0 评论 -
按位异或 ^
public static function swap ( &$a , &$b ) { // $a = $a + $b; // $b = $a - $b; // $a = $a - $b; $a = $a ^ $b; $b = $a ^ $b; $a = $a ^ $b; } public原创 2017-03-23 11:36:19 · 378 阅读 · 0 评论 -
百度代码规范 -- PHP
php编码规范php标准委员会(php-styleguide@baidu.com):许立强(TB-TD, 主席)贾春鑫(PS)廖慧琴(LBS RD)仇昊(VS)全伟(CS)王岩(KS)颜玉刚(music-PD)张东进(SUMERU) 张振平(CID)王伟冰(贴吧-技术部)参与规则制定:雷国强(GIS)李红亮(GPM)王霄池(SCloud)张健(CS)许鹏(GIS)鲁超伍(Mob转载 2017-03-16 15:13:20 · 3088 阅读 · 1 评论 -
PHP 扩展开发 : 编写一个hello world !
安装PHP1 安装 php包 与 phpizeapt-get install php7.0 php-dev 2 下载 php 源码包wget http://php.net/distributions/php-7.1.5.tar.gz3 解压并进入ext文件夹tar -zxvf php-7.1.5.tar.gzcd php-7.1.5/ext4.使用 ext_skel 创建骨架 ext_skel -原创 2017-05-15 15:39:47 · 468 阅读 · 0 评论 -
MapReduce: 一种简化的大规模集群数据处理法
(只有文字没有图,图请参考http://research.google.com/archive/mapreduce.html)MapReduce: 一种简化的大规模集群数据处理法翻译:风里来雨里去原文:MapReduce: Simplified Data Processing on Large Clusters 作者:JeffreyDean and Sanjay G翻译 2016-09-08 08:45:10 · 901 阅读 · 0 评论 -
单项散列加密
1.加密文件[php] view plain copy //sha1_en.php header("content-type:text/html;charset=utf-8"); $str = "我是张三,能给我个人数据吗"; $salt="123456";//我是唯一不变的salt盐 $sha1=sha1($str.$s转载 2016-09-08 07:28:07 · 230 阅读 · 0 评论 -
PHP MVC中RBAC的最佳实现方案的比较
个人认为的PHP MVC框架中实现RBAC的原理 顺序:数据表1.tb_user(id,uname,roleid)2.tb_role(roleid,rolename)3.tb_module(moduleid,moudulename,mvc_url)4.tb_access(accessid,roleid,mouduleid)实现原理1. 根据$uid 得到 $role转载 2016-09-07 11:59:08 · 904 阅读 · 0 评论 -
OAuth2.0验证 和 SSO验证 详细
一、OAuth2.0授权协议一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源。由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的。图示:流程:1、获取未授权的Request Token。url:request token url。原创 2016-09-09 20:41:37 · 2049 阅读 · 0 评论 -
PHP底层探索(一):几种常见的SAPI
SAPI: Server Application Programming Interface 服务器端引用编程端口.即php与其他应用交互的接口.常用的SAPI有:cgi fast-cgi cli apache的DLLCGI’ CGI即通用网关接口(Common Gateway Interface),他是一段程序,通俗的讲CGI就像是一座桥,把网页和web服务器中的执行程序连接起来,CG原创 2016-09-11 20:35:07 · 874 阅读 · 0 评论 -
PHP底层探索(二):一次请求的开始与结束
PHP开始执行以后会经过两个主要阶段: 1.处理请求之前的开始阶段 2.请求之后的结束阶段开始阶段有两个过程: 1)过程是模块初始化阶段(MINIT),在整个SAPI声明周期内,该过程只执行一次. 2)过程是模块激活阶段(RINIT),该过程发生在请求阶段,例如请求某页面,则在每次请求之前都会进行模块激活(RINIT请求开始).例如PHP注册了一些扩展模块,则原创 2016-09-12 08:46:20 · 446 阅读 · 0 评论 -
毫秒之间的相互转换
<?phpfunction microtime_float(){ //把microtime()中的值(一个时间戳,一个毫秒数)赋给list内定义的两个变量 list($usec, $sec) = explode(" ", microtime()); //返回两者相加值 即为毫秒时间 return ((float)$usec + (float)$sec);}原创 2016-08-30 19:30:14 · 709 阅读 · 0 评论 -
PHP遍历文件夹下所有文件
<?php/**********************一个简单的目录递归函数第一种实现办法:用dir返回对象***********************/function tree($directory) { $mydir = dir($directory); echo "\n"; while($file = $mydir->read()) { if((is_d原创 2016-09-01 16:56:05 · 384 阅读 · 0 评论 -
说说PHP的autoLoad自动加载机制
__autoload的使用方法1: 最经常使用的就是这种方法,根据类名,找出类文件,然后require_oncefunction __autoload($class_name) { $path = str_replace('_', '/', $class_name); require_once $path . '.php'; } // 这里会自动加载Http/File/Inte转载 2016-09-02 12:18:25 · 2032 阅读 · 0 评论 -
PHP开发框架浅析
PHP开发框架是什么开发框架的定义我没有找到很准确的描述,下面几句话基本概括了开发框架的的功能和用途框架是一种应用程序的半成品;框架就像是人的骨骼一样;框架是一组可复用的组件;框架是一个可复用的设计构件……简而言之,框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。或者说就是使用别人搭好的舞台,你来做表演。PHP开发框架有哪些优缺点转载 2016-09-17 07:47:07 · 1510 阅读 · 2 评论 -
input 多文件上传
html xhr2 0 多文件上传 function xhr2(){ var xhr = new XMLHttpRequest();//第一步 //定义表单变量 var file = document.getElementById('file').files; //conso转载 2016-09-05 08:15:08 · 383 阅读 · 0 评论 -
利用phpmailer类 发邮件
1.phpmailer,很好用,无论原生还是放到框架下,都没问题,phpmailer下载地址 https://github.com/PHPMailer/PHPMailer[php] view plain copy header("content-type:text/html;charset=utf-8"); include("cla转载 2016-08-26 11:08:21 · 386 阅读 · 0 评论 -
php使用openssl来实现非对称加密
使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密。1.安装openssl和php的openssl扩展2.生成私钥:openssl genrsa 用于生成rsa私钥文件,生成是可以指定私钥长度和密码保护[plain] view plain copy openssl genrsa -ou转载 2016-09-06 07:49:03 · 788 阅读 · 0 评论 -
php借助mcript扩展实现对称加密
mcript提供多种加密方式,一般主要用DES,3DES两种demo.< ?php$str = "我的名字是?一般人我不告诉他!"; //加密内容$key = "key:111"; //密钥$cipher = MCRYPT_DES; //密码类型$modes = MCRYPT_MODE_ECB; //密码模式$iv = mcrypt_create_iv(mcrypt_ge原创 2016-09-06 07:50:26 · 530 阅读 · 0 评论 -
递归 ---无限极分类中递归查找一个树结构
递归的注意点:1.一定有一个判断条件,否则递归就死循环了2.每次的递归结果要保存起来,变量自增的实现三种方式:function(&$bar):通过引用地址global :通过设置为全局变量static :设置为静态变量header( "Content-type: text/html; charset=utf-8" );$arr = arr原创 2016-09-06 10:53:34 · 604 阅读 · 0 评论 -
php使用sprintf拼接sql
一.封装常用增删查改操作方法[php] view plain copy print?class BaseDAO{ //创建数据 public function create($table_name,$model){ $columns_k=''; $column转载 2016-09-06 11:58:00 · 695 阅读 · 0 评论 -
转:正则表达式进阶(资料整理)
正则表达式进阶整理一 、正则的几种引擎正则引擎主基本可以分为两大类:DFA (确定性有穷自动机)NFA (非确定性有穷自动机) DFA和NFA都有很长的历史,NFA的历史更长一些,两者在二十多年的发展中产生了许多不必要的变体。而POSIX标准的出台是为了规范这种现象。POSIX标准不但清楚地规定了引擎应该支持的元字符和特性,还明确规定了使用者期望由表达式获得的准确结果。DFA已经符合新转载 2017-11-16 17:35:01 · 451 阅读 · 0 评论