PHP知识积累系列
wuming19900801
这个作者很懒,什么都没留下…
展开
-
PHP安全编程:register_globals的安全性
如果你还能记起早期Web应用开发中使用C开发CGI程序的话,一定会对繁琐的表单处理深有体会。当PHP的register_globals配置选项打开时,复杂的原始表单处理不复存在,公用变量会自动建立。它让PHP编程变得容易和方便,但同时也带来了安全隐患。用户输入从何而来?第一个源是 GET、POST 和 COOKIE 数据。一般称为 GPC 数据。此数据的可识别程序依赖于一个有争议的 php.i转载 2014-07-29 14:44:52 · 473 阅读 · 0 评论 -
PHP的学习--解析URL
PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str。parse_url解析 URL,返回其组成部分mixed parse_url ( string $url [, int $component = -1 ] )本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。本函数不是用来验证给定 URL 的合转载 2014-11-13 14:30:23 · 554 阅读 · 0 评论 -
深入理解HTTP协议
深入理解HTTP协议1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了H转载 2014-10-15 10:05:42 · 337 阅读 · 0 评论 -
PHP设计模式系列 - 数据访问对象模式
场景设计设计一个BaseDao基类,实现数据库操作基本的一些query,insert,update方法在实际使用的过程中,继承BaseDao,就可以直接调用基类的数据库操作方法代码:BaseDao 数据库操作基类//数据访问对象模式//将数据库访问层脱离出来 作为公用的访问接口,方便用户开放,是php中常用的一种设计模式class BaseDao {原创 2014-10-16 17:40:21 · 386 阅读 · 0 评论 -
php操作xml文件
PHP可以方便的生成和读取XML文件。PHP主要通过DOMDocument、DOMElement和DOMNodeList来完成XML的读取与写入操作的。下面就简要说明下如何使用这些类。一原创 2014-10-17 10:48:13 · 451 阅读 · 0 评论 -
php关于引用的解释
<?php$a = 0; //首先赋值$a=0$b = &$a; //$b是对$a的引用echo $b.'/n'; //输出$b,可以得到与$a相同的值$b = 1; //对$b赋值echo $a.'/n'; //输出$a,可以看到$a也发生了变化?>原创 2014-10-17 11:11:15 · 442 阅读 · 0 评论 -
php设计模式系列--委托模式
应用场景设计了一个cd类,类中有mp3播放模式,和mp4播放模式改进前,使用cd类的播放模式,需要在实例化的类中去判断选择什么方式的播放模式改进后,播放模式当做一个参数传入playList函数中,就自动能找到对应需要播放的方法。原创 2014-10-17 17:22:39 · 412 阅读 · 0 评论 -
查询IP地理位置、身份证所在地、手机归属地的接口
一些可以查询IP地理位置、身份证所在地、手机归属地的接口。由于某些接口需要提供来路,所以以下代码如果JS不能直接读取,可以通过PHP来返回结果,然后再通过JS调用返回结果的页面。 源码与演示:源码出处演示出处 0102/*03新浪的IP查询接口:转载 2014-10-17 11:38:47 · 1094 阅读 · 0 评论 -
PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等
<?phpclass Client{ ////获得访客浏览器类型 function Get_Browser(){ if(!empty($_SERVER['HTTP_USER_AGENT'])){ $br = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/MSIE/i',$br)) { $br = 'MSI原创 2014-10-17 11:29:20 · 645 阅读 · 0 评论 -
PHP相关系列 - 优化你的PHP代码
1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;2.echo的效率高于print,因为echo没有返回值,print返回一个整型;3.在循环之前设置循环的最大次数,而非在在循环中;4.销毁变量去释放内存,特别是大的数组;5.避免使用像__get, __set, __autoload等魔术方法;6.req转载 2014-10-17 17:25:14 · 426 阅读 · 0 评论 -
PHP设计模式系列 - 建造者模式
设计场景有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,金钱等信息,才能获得用户具体的信息结果。创建一个UserInfoBuilder 用户建造者类,这个类,将UserInfo复杂的创建姓名,年龄,金钱等操作封装起来,简化用户类的创建过程代码:UserInfo类,创建UserInfo类是复杂的,痛苦的。原创 2014-10-16 17:36:49 · 331 阅读 · 0 评论 -
PHP 数组遍历 的差异(array_diff 的实现)
题目如下:给你两个分别有 5000 个元素的数组,计算他们的差集 -- 说白了也就是用 PHP 和你认为最好的算法实现 array_diff 的算法。初次接到这个题目,我发现这非常的简单,于是按照以往的经验“随便”写了一个:function array_diff($array_1, $array_2) { $diff = array(); foreach转载 2016-08-19 10:00:36 · 3732 阅读 · 0 评论 -
php验证手机归属地
// 手机号验证 function checkMobileValidity($mobilephone){ $exp = "/^13[0-9]{1}[0-9]{8}$|15[012356789]{1}[0-9]{8}$|18[012356789]{1}[0-9]{8}$|14[57]{1}[0-9]$/"; if(preg_match($exp,$mobilephone)){转载 2014-09-25 11:05:40 · 373 阅读 · 0 评论 -
php爬取页面的方法总结
最近一直在写关于网络爬虫的东西,有时间把原创 2014-09-25 13:26:08 · 1708 阅读 · 0 评论 -
PHP CodeBase: 判断用户是否手机访问
随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。这里就介绍一下,如何判断用户是否用手机访问。转载 2014-07-29 11:37:17 · 405 阅读 · 0 评论 -
如何高效率的写一个不会重复出现的随机数
/* *@min 表示生成的随机数的范围的最小值 *@max 表示生成的随机数的范围的最大值 *@num 表示生成的随机数的数量*/原创 2014-07-29 13:13:13 · 2687 阅读 · 0 评论 -
PHP获取生成一个页面的数据库查询次数
很多博客软件都有这么一个功能,比如“生成本次页面一共花费了xx毫秒,进行了xx次数据库查询”等等。那么这个功能是如何实现的呢,下面我大概说下思路。转载 2014-07-29 14:29:00 · 1887 阅读 · 0 评论 -
PHP多种序列化/反序列化的方法
序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。1. serialize和unserialize函数这两个是序列化和反序列化PHP中数据的常用函数。转载 2014-07-29 13:25:07 · 345 阅读 · 0 评论 -
php中isset()、empty()、isnull()的用法
有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。测试的类型如下:<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array();?>转载 2014-07-29 13:21:21 · 705 阅读 · 0 评论 -
PHP设计模式--策略模式
策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。封装:把行为用接口封装起来,我们可以把那些经常变化的部分,从当前的类中单独取出来,用接口进行单独的封装。互相替换:我们封装好了接口,通过指定不同的接口实现类进行算法的变化。原创 2014-07-31 11:45:27 · 594 阅读 · 0 评论 -
使用PHP生成PDF文档
特性TCPDF具有以下特性:1、支持页面页脚;2、支持HTML标签代码;3、支持jpg/png/gif/svg图形图像;4、支持表格;5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)6、自动分页,自动页码,等等。原创 2014-09-26 14:34:40 · 1977 阅读 · 0 评论 -
php生成二维码
今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码。使用PHP二维码生成类库PHP QR Code生成二维码原创 2014-09-26 14:47:34 · 446 阅读 · 0 评论 -
php导入导出CSV格式的数据
1.新建html页面 请选择要导入的CSV文件:原创 2014-09-25 10:27:34 · 552 阅读 · 0 评论 -
php实现翻版抽奖
PHP+JQUERY实现抽奖大转盘 ul{list-style-type:none;border:1px solid #eee;width:600px;height:400px;} ul li{width:160px;height:160px;border:1px solid black;float:left;margin-left:10px;m原创 2014-09-25 17:32:16 · 614 阅读 · 0 评论 -
php+jQuery实现网络转盘抽奖
最近公司在搞节日活动,进行抽奖活动,原创 2014-09-25 16:25:20 · 760 阅读 · 0 评论 -
Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看。Virtual Box可选的网络接入方式包括:NAT 网络地址转换模式(NAT,Network Address Translation)Bridged Adapter 桥接模式Internal 内部网络模式Host-only Adapter 主机模式具体的区别网上的资料很多,就不再转载 2017-06-14 18:10:46 · 576 阅读 · 0 评论