
PHP
墨子哲
感兴趣方向WEB架构,大数据,人工智能
展开
-
国外程序员收集整理的PHP资源大全
ziadoz在 Github发起维护的一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。伯乐在线对该资源列表进行了翻译,译文如下:依赖管理依赖和包管理库Composer/ Packagist:一个包和依赖管理器Composer Installers:一个多框架Composer库安装器Pi转载 2015-01-06 10:29:36 · 2372 阅读 · 0 评论 -
PHP程序开发人员要掌握的知识
文件目录处理函数包80%以上的函数的功能的灵活运用。日期时间函数中的80%以上的函数的功能的灵活运用数学函数库中的100%的内容。网络库中的60%以上的内容,对各个函数的功能比较熟悉。字符串处理函数下的60%以上的内容,特别是各种处理函数。正则表达式函数下的90%以上的内容,特别是各种正则处理一些安全库下的40%以上的内容,如果对于安全没有接触的话根本就不可能掌握PHPXML处理,熟悉SAX、DO原创 2013-09-27 15:21:03 · 931 阅读 · 0 评论 -
总结的一些PHP开发中的技巧
有些可能是不正确的,有些出于个人习惯,所以,千万不要把以下这些条当成什么标准,其中可能隐藏着天大的bug,代码可能正在病态的运行中,SO!请一定仔细的看过后想想,这么做的好处是什么?会产生怎样的负面影响?开发习惯和PHP代码:1、准确的理解各种概念。现在的新东西层出不穷,望文生义和一知半解对开发工作有害无益;2、代码美观,适当的空行、缩进,空格,这样能更容易理解代码段的意思;3、一原创 2013-09-27 15:07:18 · 811 阅读 · 0 评论 -
PHP 多线程的实现 curl_multi
步骤总结如下:第一步:调用curl_multi_init第二步:循环调用curl_multi_add_handle这一步需要注意的是,curl_multi_add_handle的第二个参数是由curl_init而来的子handle。第三步:持续调用curl_multi_exec第四步:根据需要循环调用curl_multi_getcontent获取结果第五步:调用curl_m原创 2013-08-12 18:37:08 · 1292 阅读 · 0 评论 -
总结curl,fsocket,pfsocket,stream_socket_client
curl原创 2013-08-12 18:08:35 · 3871 阅读 · 4 评论 -
PHP中HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用
1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关3.HTTP_CLIENT_IP:客户端的ip 在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址。但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客原创 2013-08-21 15:58:49 · 1729 阅读 · 0 评论 -
直接拿来用,10个PHP代码片段
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。PHP拥有数以百计的基本功能,支持上千种扩展。这些功能都被很好的加载在PHP站点上,但内置的库有各种各样的命名。在PHP代码库中包含了无数个有用的PHP代码片段,每位开发者都需要不断完善自己的“工具箱”。有了这些代码片段可以为你节省大量的时间,一起来看下。1.查找Longitudes与Latit转载 2013-07-24 10:16:55 · 617 阅读 · 0 评论 -
php中判断是gbk还是utf-8
// 返回: true - 含GB编码 false - 为UTF-8编码function is_gb2312($str){ for($i=0; $i $v = ord( $str[$i] ); if( $v > 127) { if( ($v >= 22原创 2013-07-20 00:28:19 · 3555 阅读 · 0 评论 -
php DOMDocument和SimpleXML区别
SimpleXML 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。DOMDocument 同样也是,DOM XML 解析器函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。SimpleXML操作xml相对DOMDocument要简单许多,但函数功能较少,适合实现较简单的功能,详情可参见SimpleXML的函数文档,DOMDocument则提供了全面的操作xml函数和属原创 2013-07-01 14:41:56 · 1957 阅读 · 0 评论 -
session原理总结
一、session是怎么保存的?怎么去查看其内容?session是以文件的形式保存的。php.ini中有个配置项--session.save_path= "";这个里面填写的路径,将会使session文件保存在该路径下。session文件的命名格式是:"sess_[PHPSESSID的值]"。每一个文件,里面保存了一个会话的数据。其实只要使用代码$_SESSION['user_id'] = $原创 2013-05-13 11:36:03 · 849 阅读 · 0 评论 -
php bing api
注册步骤:http://blogs.msdn.com/b/translation/p/gettingstarted1.aspxhttp://api.microsofttranslator.com注册应用程序:https://datamarket.azure.com/https://datamarket.azure.com/developer/applications原创 2013-04-19 16:32:48 · 1718 阅读 · 1 评论 -
类似WEBQQ的一套开源代码
hoorayos系统:http://hoorayos.comphp+mysql+jquery开发原创 2013-04-18 09:47:01 · 1569 阅读 · 0 评论 -
PHP实现多语言翻译
借助BING翻译API原创 2013-04-18 09:42:29 · 2034 阅读 · 0 评论 -
PHP 导出CSV
$result = mysql_query("select * from student order by id asc"); $str = "姓名,性别,年龄\n"; $str = iconv('utf-8','gb2312',$str); while($row=mysql_fetch_array($result)){ $name = iconv('utf-8','gb2原创 2013-04-03 15:20:07 · 813 阅读 · 0 评论 -
PHP导入导出Excel方法小结
基本上导出的文件分为两种:1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。优点:简单。缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。如果导出中文时原创 2013-03-19 13:11:28 · 838 阅读 · 0 评论 -
PHP中的 抽象类(abstract class)和 接口(interface)
一、抽象类abstract class1.抽象类是指在class前加了abstract关键字且存在抽象方法(在类方法function关键字前加了abstract关键字)的类。2.抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。3.如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法。如果子类原创 2013-09-27 15:02:36 · 800 阅读 · 0 评论 -
php实现验证码的识别(中级篇)
在上篇文章 php实现验证码的识别 (初级篇 ) > 中,讲了如何识别简单的验证,这里的简单只的是验证码有数字和字母组成,格式统一,每次出现位置固定。这篇文章将继续深入研究识别验证码,这次识别的目标是,验证码有字符和数字组成,验证码存在旋转(可能左右都旋转),位置不固定,存在字符与字符之间的粘连,且验证码有更强的干扰素。这篇文章讲解的方法,并不是万能的解决方案,并且提供代码不能直接解决你的问题,这转载 2013-10-31 21:31:25 · 1186 阅读 · 0 评论 -
CI学习记录
1.$this->load->library('') //加载application/librarys system/librarys2.$ths->load->helper("") //加载application/helpers system/helpers原创 2013-11-22 18:17:21 · 1817 阅读 · 0 评论 -
PHP内核电子书
http://www.walu.cc/phpbook/preface.md原创 2015-01-27 19:39:03 · 797 阅读 · 0 评论 -
BigPipe介绍
1. 技术背景 FaceBook页面加载技术试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒;同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表明,如果用户打开一个网站,等待3~4 秒还没有任何反应,他们会变得急躁,焦虑,抱怨,甚至关闭网页并且不再访问,这是非常糟糕的情况。所以,网页加载的速度十分重要,尤其对于拥有遍布全球的5亿用户的F转载 2014-09-24 13:37:21 · 990 阅读 · 0 评论 -
PHPer必看的几份文档
http://shashun.jd-app.com/?p=9原创 2014-06-11 18:23:45 · 990 阅读 · 0 评论 -
正则表达式排除特定字符串
1.例子,查找不以baidu开头的字符串。baidu.comsina.com.cn正则:^(?!baidu).*$ 匹配结果就是第2行,也就是第1行被排除了这里使用了零宽度断言(?!exp),注意,我们有一个向前查找的语法(也叫顺序环视) (?=exp)(?=exp) 会查找exp之前的【位置】如果将等号换成感叹号,就变成了否定语义,也就是说查找的位置的后面不能是exp转载 2012-12-16 14:23:38 · 82543 阅读 · 5 评论 -
ini_set()函数的使用 以及 post_max_size,upload_max_filesize的修改方法
ini_set('display_errors', 'Off');ini_set('memory_limit', -1); //-1 / 10240Mini_set("max_execution_time", 0);//ini_set('magic_quotes_gpc', 'On');php_value upload_max_filesize 2000Mphp_val原创 2014-01-16 10:32:24 · 7797 阅读 · 1 评论 -
PHP配置指令作用域说明(PHP_INI_PERDIR、PHP_INI_SYSTEM、PHP_INI_USER、PHP_INI_ALL)
PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的)PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改PHP_INI_SYSTEM:指令可以在php.ini 和 httpd.conf 文件中修改PHP_INI_USER:指令可以在用户脚本中修改原创 2014-01-16 10:33:53 · 5071 阅读 · 0 评论 -
ceil,floor,round,sprintf,int
ceil,floor,round,sprintf这些函数的区别以及用法原创 2014-01-22 18:36:35 · 800 阅读 · 0 评论 -
21个常用的PHP函数代码段
1. PHP可阅读随机字符串此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。/***************@length – length of random string (must be a multiple of 2)**************/function readable_random_string($len原创 2014-01-21 19:05:45 · 920 阅读 · 0 评论 -
Php+Mysql注入专题
Php注入攻击是现今最流行的攻击方式,依靠它强大的灵活性吸引了广大黑迷。在上一期的《php安全与注射专题》中林.linx主要讲述了php程序的各种漏洞,也讲到了php+mysql注入的问题,可是讲的注入的问题比较少,让我们感觉没有尽兴是吧. OK,这一期我将给大家伙仔仔细细的吹一吹php+mysql注入,一定让你满载而归哦(谁扔砖头哩!)。 本文主要是为小菜们服务的,如果你已经是一原创 2014-01-12 23:18:42 · 917 阅读 · 0 评论 -
PHP SQL注入的安全规范
Php注入的安全防范通过上面的过程,我们可以了解到php注入的原理和手法,当然我们也同样可以制定出相应该的防范方法: 首先是对服务器的安全设置,前面的windows服务器的安全设置我们已经讲了,不再重复,这里主要是php+mysql的安全设置和linux主机的安全设置。对php+mysql注射的防范,首先将magic_quotes_gpc设置为On,display_errors设置为Of原创 2014-01-12 23:17:46 · 862 阅读 · 0 评论 -
PHP攻击防御
如何对PHP程序中的常见漏洞进行攻击(上) 创建时间:2001-07-17 文章属性:翻译 文章来源:httpwww.china4lert.org 文章提交:analysist (analysist_at_china.com) 如何对PHP程序中的常见漏洞进行攻击(上) 原著:Shaun Clowes httpwww.securereality.co原创 2014-01-12 23:15:39 · 1922 阅读 · 0 评论 -
后台防止XSS注入,禁止JS获取COOKIE
1.PHP 5.2以下支持header("Set-Cookie: hidden=value; httpOnly");2.PHP5.2以上支持ini_set("session.cookie_httponly", 1);3.兼容全部PHP版本setcookie("name","hello", NULL, NULL, NULL, NULL, TRUE);原创 2014-01-02 14:26:25 · 7486 阅读 · 0 评论 -
支付宝通知页面notify_url、返回页面return_url
http://xiongjiajia.iteye.com/blog/1327567返回页面(return_url文件)工作原理 即:商户系统请求/支付宝响应交互模式 1、 构造请求数据 商户通过提供的接口代码示例,通过代码示例的规则,程序构造与运算得到sign加密结果以及构造后的请求给支付宝的数据集合。GET方式下是URL地址链接,POST方式下是支付宝转载 2013-12-10 18:52:07 · 11747 阅读 · 0 评论 -
支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url.
支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类。 A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。 例如 notify_url转载 2013-12-10 19:15:29 · 6952 阅读 · 2 评论 -
PHP MVC留言本实例
这个帖子发布以后有朋友指出例子中V直接操作M不符合MVC原则,现在对代码做了修改:在C中调用M中的方法返回数据(如全部留言数据),将M返回的数据传递给V,这样C操作M和V,V不再直接与M联系。欢迎大家多多拍砖!写完那篇“写给懂C语言的人的PHP基本语法入门”后一直在学习PHP5的OOP,目的很简单,就是想研究MVC的PHP实现,所以,兴趣很快转移到MVC上面,网上有很多长篇大论,但原创 2013-03-19 13:56:28 · 1977 阅读 · 1 评论 -
PHP实现MVC
什么是MVC?简单的说就是将网站源码分类、分层。MVC三个字母的含义:M:Model 模型,负责数据库操作。V:View 视图,负责调用Model调取数据,再调用模板,展示出最终效果。C:Controller 控制器,程序的入口,决定改调用哪个View,并告诉View该做什么。如此说来,程序的执行顺序是C-V-M 或 C-M ,和MVC的名字正好相反原创 2013-03-19 13:55:42 · 1508 阅读 · 0 评论 -
liunx下php处理多进程样例
pcntl_fork可以很方便的创建进程,对于一般的需要固定的多进程处理的应用场景来说,实现比较简单,但是,对于需要大量并发创建子进程的应用场景来说,主要的问题在于会产生大量的僵尸进程。。。 我们的应用中,之前是采用将过程中产生的子进程pid收集起来, 间隔一定时间统一回收(pcntl_waitpid),这样带来的一个问题是:在大量并发情况下,服务器压力过大,会导致子进程“死掉原创 2013-03-19 13:10:44 · 943 阅读 · 0 评论 -
PHP异步执行的常用方式
1.客户端页面采用AJAX技术请求服务器优点:最简单,也最快,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。缺点:一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了。而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成原创 2012-12-23 22:50:52 · 3705 阅读 · 0 评论 -
高性能PHP项目优化
层次结构1.HTML/CSS/JS优化测试软件:FIREBUGFIREBUG插件-YSLOWFIREBUG插件-PAGE SPEED优化软件:YUI(压缩JS代码)Closure Compiler(压缩JS代码)Smush.it(图片压缩工具)2.PHP代码优化测试软件:VLD(查看OPCODE,分析PHP函数)STRACE(查看原创 2012-11-21 09:49:33 · 797 阅读 · 0 评论 -
PHP多进程 pcntl(数据采集)
PHP多进程 pcntl原创 2012-11-22 15:45:28 · 1581 阅读 · 0 评论 -
PHP程序,关闭浏览器,程序继续后台执行
ignore_user_abort(true);set_time_limit(0);经测试,同时执行同一个文件多次火狐下只支持一次。IE下支持多次优点:1.有些程序执行时间长,为防止用户关闭浏览器而停止执行,使用此函数后台执行,不用一直开着浏览器,2.可以一直做循环,做定时功能,除非APACHE重启,如果没有服务器权限执行CRONTAB,可以用这个代替原创 2012-11-22 15:06:21 · 4080 阅读 · 0 评论 -
PHP与MYSQL事务处理
/*MYSQL的事务处理主要有两种方法。1、用begin,rollback,commit来实现begin 开始一个事务rollback 事务回滚commit 事务确认2、直接用set来改变mysql的自动提交模式MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过set autocommit=0 禁止自动提交set autocomm原创 2012-10-23 16:18:20 · 655 阅读 · 0 评论