php
lz0426001
What do you want to do with this one wild and precious life?
One More Thing,Stay hungry,Stay foolish!
编程中最没用的东西是源代码,最有用的东西是算法和数据结构。
赢在布局!狼之野心,象之宽容,鹰之果断,狐之狡猾!
展开
-
关于WeiPHP
http://www.weiphp.cn/weiphp是一个开源,高效,简洁的微信开发平台,它是基于oneThink这个简单而强大的内容管理框架实现的。旨在帮助开发者快速实现微信公众账号的个性化功能。转载 2016-03-07 11:00:51 · 695 阅读 · 0 评论 -
CodeIgniter 特性
开发框架优秀与否与它有多少特性没有太大的关系。你从特性中不能推断出用户的体验、不能体验到框架设计是不是直接了当,是不是智能。特性也不能告诉你框架代码的质量如何、性能如何、细节处理的如何、安全性如何。判断一个框架的唯一办法是在使用中了解它。安装CodeIgniter很简单,所以,请你使用它。CodeIgniter的主要特性如下:基于 MVC 体系超轻量级对数种数据库平台的全特性支持的数据库类转载 2014-12-08 22:50:00 · 361 阅读 · 0 评论 -
php框架CodeIgniter介绍
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。CodeIgniter 就是你所需要的,如果...你想要一个小巧的框架。你需要出色的性能。你需要广泛兼容标准主机上的各种转载 2014-12-08 22:44:22 · 421 阅读 · 0 评论 -
CodeIgniter安装指导
CodeIgniter 安装分为四个步骤:解压缩安装包。把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目录。用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。如果你打算使用加密或 Session,请设置你的加密密钥。如果你打算使用数据库,用任何文本编辑器打开 application/c转载 2014-12-08 22:56:26 · 458 阅读 · 0 评论 -
CodeIgniter应用程序流程图
下图说明数据流如何贯穿整个系统:index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。Router 检查 HTTP 请求,以确定谁来处理请求。如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数转载 2014-12-08 22:51:18 · 403 阅读 · 0 评论 -
PHP缓存管理
/*** 缓存管理* @param mixed $name 缓存名称,如果为数组表示进行缓存设置* @param mixed $value 缓存值* @param mixed $options 缓存参数* @return mixed*/function S($name,$value='',$options=null) {static $cache = '';if(is_array转载 2014-12-07 22:41:51 · 549 阅读 · 0 评论 -
PHP性能优化建议
PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。 # vi /etc/php.ini(1) PHP函数禁用找到:disable_functions =该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些转载 2014-12-07 22:03:29 · 425 阅读 · 0 评论 -
PHP 防注入函数(格式化数据)
//下面的函数通过格式化数据的方法实现数据的addslashes,不过也建议大家参考下discuz的防注入函数。<?//格式化数据(防止注入)function site_addslashes($string, $force = 0) {!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_g转载 2014-12-07 21:36:14 · 391 阅读 · 0 评论 -
php安全代码审计小结
1 工具篇编辑器(notepad++,editplus,UE等等,看个人习惯)TommSearch(字符串检索) || grep HttpProtocolDebugger(http协议调试器)Fiddler(分析包,改包)Seay PHP代码审计工具(php-code-audit分析辅助)几个有趣的项目dvwa(代码审计测试平台)phpmvsphp securi转载 2014-12-07 21:28:45 · 447 阅读 · 0 评论 -
PHP 代码安全检测
概述代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必要的风险。代码审核不是简单的检查代码,审核代码的原因是确保代码能安全的做到对信息和资源进行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。审核人员可以使用类似下面的问题对开发者进行访谈,来收集应用转载 2014-12-07 21:17:17 · 2238 阅读 · 0 评论 -
php 内存回收机制
对象引用计数器机制回收: php 5.3之前使用的垃圾回收机制是单纯的“引用计数”,也就是每个内存对象都分配一个计数器,当内存对象被变量引用时,计数器+1;当变量引用撤掉后,计数器-1;当计数器=0时,表明内存对象没有被使用,该内存对象则进行销毁,垃圾回收完成。 “引用计数”存在问题,就是当两个或多个对象互相引用形成环状后,内存对象的计数器则不会消减为0;这时候,这一组内存对象转载 2014-12-07 20:57:17 · 478 阅读 · 0 评论 -
Apache与Nginx优缺点比较
1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 补充:同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是一直存在的。转载 2014-12-07 22:15:10 · 1589 阅读 · 0 评论 -
PHP防注入安全代码
/************************* 说明: 判断传递的变量中是否含有非法字符 如$_POST、$_GET 功能:防注入 **************************/ <?php //要过滤的非法字符 $ArrFiltrate=array("'",";","union"); //转载 2014-12-07 21:34:15 · 408 阅读 · 0 评论 -
如何编写安全的PHP代码
绝不要信任外部数据或输入关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。例如,下面的数据元素可以被认为是安全的,因为它们是在 P转载 2014-12-07 21:23:42 · 311 阅读 · 0 评论 -
php 代码优化建议
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的法子定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row['id'] 的速度是转载 2014-12-07 21:57:39 · 420 阅读 · 0 评论 -
十一个常见的PHP安全细则
PHP本身再老版本有一些问题,比如在 php4.3.10和php5.0.3以前有一些比较严重的bug,所以推荐使用新版。另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配转载 2014-12-07 21:46:09 · 259 阅读 · 0 评论 -
PHP内存管理
var_dump(memory_get_usage());$a = "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage());输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同):int(90440)int(90640)int(90472)var_dump转载 2014-12-07 21:05:15 · 329 阅读 · 0 评论 -
二分查找算法
在一个数组查找你所需元素(二分查找算法)。思路:以数组中某个值为界,再递归进行查找,直到结束。function find($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ return $m转载 2014-11-25 16:53:13 · 284 阅读 · 0 评论 -
CodeIgniter框架支持service层
随着业务越来越复杂,controller越来越臃肿,举一个简单的例子,比如说用户下订单,这必然会有一系列的操作:更新购物车、添加订单记录、会员添加积分等等,且下订单的过程可能在多种场景出现,如果这样的代码放controller中则很臃肿难以复用,如果放model会让持久层和业务层耦合。现在公司的项目就是,很多人将一些业务逻辑写到model中去了,model中又调其它model,也就是业务层和持久层转载 2014-12-09 22:45:57 · 552 阅读 · 0 评论 -
CodeIgniter设计和架构目标
CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。从技术和架构角度看,CodeIgniter 按照下列目标创建:动态实例化。在 CodeIgniter 中,组件的导入和函数的执行只有在被要求的时候才执行,而不是在全局范围。除了最转载 2014-12-08 22:54:17 · 366 阅读 · 0 评论 -
爬虫
https://github.com/owner888/phpspider转载 2016-03-07 10:59:39 · 405 阅读 · 0 评论 -
如何正确配置Nginx+PHP
对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价。假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。此时很多教程会转载 2016-02-19 10:19:04 · 258 阅读 · 0 评论 -
PHP 底层的运行机制与原理
PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能转载 2016-02-19 10:16:17 · 195 阅读 · 0 评论 -
PHP 性能优化
序php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。我的这篇文章,我只是希望能够提高你的php脚本性能。请记住你的php脚本性能,很多时候依赖于你的php版本、你的web server环境和你的代码的复杂度。优化你代码中的瓶颈Hoare曾经说过“过早优化是一切不幸的根源”。当你想要让你的网站更快运转的时候,转载 2016-02-19 10:11:19 · 232 阅读 · 0 评论 -
关于PHP程序员解决问题的能力
在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决问题能力转载 2016-02-19 10:08:13 · 228 阅读 · 0 评论 -
PHP编程中10个最常见的错误
错误1:foreach循环后留下悬挂指针在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法:$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8)转载 2016-02-19 10:05:52 · 391 阅读 · 0 评论 -
centOS下 PHP + swoole 安装记录
swoole 有点类似node.js , swoole纯C编写的PHP扩展. 多进程和非阻塞安装php :先卸载:# yum remove php php-bcmath php-cli php-common php-devel php-fpm php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql转载 2014-12-31 11:38:08 · 452 阅读 · 0 评论 -
PHP在win7安装Phalcon框架
我的环境是64位的 Win7。安装 Phalcon 也极其简单,只需要下载一个文件(php_phalcon.dll),要以 phpinfo() 里面“Architecture”属性为准!下载地址是 http://phalconphp.com/zh/download/windows。把php_phalcon.dll 解压出来放在 {WampServer安装目录}/bin/转载 2015-01-20 11:48:22 · 2559 阅读 · 0 评论 -
php 的一些运算符
"&" 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式如下: 00001001 (9的二进制补码) &00000101 (5的二进制补码) 00000001 (1的转载 2014-12-15 18:13:17 · 328 阅读 · 0 评论 -
过滤输入的回车键,及空格,同时替换中文逗号为英文逗号
public function replace_value($data){ $data = str_replace("\t","",$data); $data = str_replace("\r\n","",$data); $data = str_replace("\r","",$data); $data = str_replace(原创 2014-12-31 11:40:26 · 884 阅读 · 0 评论 -
PHP字符串检测
PHP中对于字符串的检测,提供了相当对的检测函数,满足你对字符串的多方面需求,我们简单的来熟悉下。其中主要是ctype函数组:ctype_alnum 检测是否是有数字和字母,换言之只包含[A-Za-z0-9]ctype_alpha 检测是否是只包含字母,换言之[A-Za-z]ctype_cntrl 检查是否是只包含类是“\n\r\t”之类的字 符控制字转载 2015-01-20 11:52:35 · 504 阅读 · 0 评论 -
安装php swoole框架 环境搭建及扩展安装
Git地址:https://github.com/LinkedDestiny/swoole-doc第一章 环境搭建及扩展安装环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5) PHP版本:PHP-5.5.10 swoole版本:1.7.6-stablePHP安装要用swoole,首先需要有PHP环境。由于swoole的某些特性,最好是能够从源码编译安装转载 2014-12-31 10:29:18 · 709 阅读 · 0 评论 -
textarea 的值回车换行拆分至数组 PHP
html 页面 textarea里面的回车换行为:\r\n$content_str = trim($_REQUEST['content']); $content_arr = explode("\r\n", $content_str); 注意:(1)要去除textarea 前后的空格。(2)只是不能用\r\n只能用双引号,不能用单引号。原创 2014-12-30 11:50:50 · 1519 阅读 · 0 评论 -
怎样选择PHP的版本
IIS 如果想使用IIS配置PHP的话,那么需要选择Non-Thread Safe(NTS)版本的PHP Apache 如果你是用的Apache的版本来自Apache Lounge(website:http://apachelounge.com/),可以使用PHP VC11 x86或者x64版本。如果你使用的是从apache.org下载的Apache1或者Apache2来搭建P转载 2014-12-29 10:52:48 · 304 阅读 · 0 评论 -
什么是 MVC 模式?
MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。MVC 由 Trygve Reenskaug 提出,最早被应用在 SmallTalk-80 环境中。模型—视图—控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使转载 2014-12-08 23:08:42 · 693 阅读 · 0 评论 -
CodeIgniter模型-视图-控制器
CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。模型 (Model) 代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。视图 (View) 是展示给用户的信息。一个视图通常是一个网页,但是在 Cod转载 2014-12-08 22:52:50 · 418 阅读 · 0 评论 -
【PHP】进一法取整、四舍五入取整、忽略小数等的取整数方法大全
PHP取整数函数常用的四种方法,下面收集了四个函数;经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数; 经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval 一、cei转载 2015-01-14 11:38:24 · 14178 阅读 · 0 评论 -
php 创建唯一码
function create_xx( $a ){ if(!$a) return false; for ( $a = md5( $a, true ), $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV', $d = '', $f = 0; $f < 8; $g = ord( $a[ $f ] ), $d .= $s转载 2014-12-15 18:15:25 · 414 阅读 · 0 评论 -
冒泡算法
冒泡算法,排序算法,由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序 $array = array(a,f,c,b,e,h,j,i,g); function maopao_fun($array){ if($len <= 1) { return $arr; } $count =转载 2014-11-25 10:57:10 · 310 阅读 · 0 评论 -
梵塔问题
function hanoi($n,$a,$b,$c){ if($n == 1){ move($a,1,$c); } else { hanoi($n-1,$a,$c,$b); move($a,$n,$c); move($n-1,$$b,$a,$c); }}function move($a转载 2014-11-25 17:15:36 · 1437 阅读 · 0 评论