php
转身
php工程师
展开
-
centOS7下编译安装nginx-1.12.2+php-7.1.9
centOS7下编译安装nginx-1.12.2+php-7.1.9原创 2017-10-25 22:48:58 · 1598 阅读 · 0 评论 -
require() 和 include()的区别
require() 和 include() 几乎完全一样,除了处理失败的方式不同之外。include() 产生一个Warning而 require() 则导致一个 Fatal Error。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。注意: 1原创 2012-01-31 10:11:39 · 556 阅读 · 0 评论 -
常用的perl正则表达式
^\d+$ //匹配非负整数(正整数 + 0) //匹配整数 ^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数 ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配转载 2012-01-30 21:43:44 · 1150 阅读 · 0 评论 -
PHP输入流input简介
在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。“php://input allows you to read raw POST data. It is a less memory i转载 2012-01-13 14:19:21 · 1033 阅读 · 0 评论 -
PHP substr(),mb_substr()及mb_strcut的区别和用法
PHP substr()函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把转载 2011-12-23 15:56:56 · 893 阅读 · 0 评论 -
基于PHP的cURL快速入门(6)
另一些有用的cURL 选项HTTP 认证如果某个URL请求需要基于 HTTP 的身份验证,你可以使用下面的代码:复制内容到剪贴板代码:以下为引用的内容:$url = "http://www.somesite.com/members/";$ch = curl_init();curl_setopt($ch, CURLOPT_URL,转载 2011-12-22 22:17:58 · 571 阅读 · 0 评论 -
基于PHP的cURL快速入门(3)
用POST方法发送数据当发起GET请求时,数据可以通过“查询字串”(query string)传递给一个URL。例如,在google中搜索时,搜索关键即为URL的查询字串的一部分:http://www.google.com/search?q=nettuts这种情况下你可能并不需要cURL来模拟。把这个URL丢给“file_get_contents()”就能得到相同结果。转载 2011-12-22 22:13:51 · 532 阅读 · 0 评论 -
基于PHP的cURL快速入门(4)
cURL批处理(multi cURL)cURL还有一个高级特性——批处理句柄(handle)。这一特性允许你同时或异步地打开多个URL连接。下面是来自来自php.net的示例代码:以下为引用的内容:// 创建两个cURL资源$ch1 = curl_init();$ch2 = curl_init();// 指定URL和适当的参数转载 2011-12-22 22:14:27 · 560 阅读 · 0 评论 -
基于PHP的cURL快速入门(2)
获取信息这是另一个可选的设置项,能够在cURL执行后获取这一请求的有关信息:以下为引用的内容:// ...curl_exec($ch);$info = curl_getinfo($ch);echo '获取'. $info['url'] . '耗时'. $info['total_time'] . '秒';// ...转载 2011-12-22 22:13:13 · 475 阅读 · 0 评论 -
基于PHP的cURL快速入门(5)
下面的代码有点复杂了,因此我将一小步一小步地详细解释:以下为引用的内容:// 1. 批处理器$mh = curl_multi_init();// 2. 加入需批量处理的URLfor ($i = 0; $i add_url_to_multi_handle($mh, $url_list);}// 3. 初始处理do {转载 2011-12-22 22:15:14 · 438 阅读 · 0 评论 -
基于PHP的cURL快速入门(1)
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。为什么要用 cURL?是的,我们可以通过其他办法获取网页内容。大多数时候,我因为想偷懒,都直接用简单的PHP函数:以下为引用的内容:$转载 2011-12-22 22:12:08 · 599 阅读 · 0 评论 -
在线获取ip所属地区的新浪接口
header("content-type:text/html;charset=utf-8");$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=123.127.134.62";$message = json_decode(file_get_contents($url),true);echo ""原创 2012-01-31 15:46:28 · 900 阅读 · 0 评论 -
php实用技巧
获取url文件扩展名$a = 'http://www.0755job8.com/fsdfsdf.php?id=13123';$path = parse_url($a);$base = pathinfo($path['path']);$ext = $base['extension'];原创 2012-02-18 13:55:44 · 462 阅读 · 0 评论 -
php file_get_contents超时解决
function get_contents ($url, $timeout = 1) { $re = file_get_contents($url, false, stream_context_create(array('http'=>array( 'method'=>"GET", 'timeout'=>$timeout)))); return $re;}原创 2012-10-26 11:24:16 · 1080 阅读 · 0 评论 -
使用php来做守护进程
[ 起源 ]Linux/Unix下守护进程 (Daemon)大家都知道,比如我们常用的httpd、mysqld等等,就是常驻内存运行的程序,类似于Windows下的服务。一般守护进程都是使 用C/C++来写,就是通过fork生成子进程,当前台shell下的父进程被杀掉,子进程就转到后台运行,为了不在终端产生输出信息,就通过 syslog等函数来写日志文件。我们知道php是脚本语言转载 2012-10-10 16:09:10 · 9038 阅读 · 0 评论 -
PHP错误抑制符(@)导致引用传参失败的Bug
这是php的一个bug,目前应该还是存在的,所以在使用错误抑制符的时候要注意<?php$array = array(1,2,3); function add (&$arr) { $arr[] = 4;}add(@$array);print_r($array);/**此时, $array没有改变, 输出:Array( [0] => 1 [1] => 2原创 2012-08-27 11:07:08 · 1056 阅读 · 0 评论 -
php在析构函数中的工作目录问题
前两天为了写一个日志类,用到在析构函数中写文件,发现了php一个很怪异的地方,不知道是不是bug,拿出来分享一下代码如下,在析构函数的当前工作目录竟然变为了apache目录,害的我写文件写错地方了更奇怪的是,我不执行write方法时,析构函数的工作目录是正确的,也是代码的执行目录,当我执行过write方法后,就一直为apache目录了<?phpclass get_path {原创 2012-08-29 21:15:42 · 1053 阅读 · 5 评论 -
php webservice SOAP
为了公开接口,被其他的应用程序调用,经常需要创建SOAP端,而在PHP中,SOAP的使用自从 PHP4就有了广泛的使用,开源的例如nosoap都是很不错的SOAP类,在PHP5开始,就已经支持SOAP了,在php_soap.dll(如果需要,请确定你的PHP5+的PHP.INI的SOAP扩展是打开的,并在phpinfo()中可以看到SOAP扩展。)SOAP的使用有三个步骤:1:创建原创 2012-08-17 10:10:36 · 2831 阅读 · 1 评论 -
windows下使用PHP实现定时执行脚本
一直以来,使用PHP定时运行脚本都是让大家头痛的问题,但是我们确实可以利用windows的计划任务来定时调用PHP脚本,当然这还要感谢PHP.exe。下面,站长将向大家介绍,如何来实现。目标:根据系统时间定时执行PHP脚本,不需要人工运行(这里以定时新建一个文本文件并写入内容为例)解决步骤:1、建立PHP脚本,如下:file_put_contents('D:\w原创 2012-08-16 14:04:32 · 9803 阅读 · 1 评论 -
查看每个扩展下面的函数
$modules = get_loaded_extensions();foreach($modules as $m){ $funcs = get_extension_funcs($m); echo $m.""; print_r($funcs);}原创 2012-08-14 14:04:27 · 533 阅读 · 0 评论 -
获取文件扩展名一个简单的方法
strrchr('dfdfd.txt',".");返回:.txtstrrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。如果成失败,否则返回 false。原创 2012-08-14 10:14:34 · 595 阅读 · 0 评论 -
crontab 定时执行php脚本文件
什么是Cron和CrontabUnix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本。更详细的概念和使用方法介绍请点击Cron和Crontab是什么?现在我们要讨论的是,许多的php程序员都可以很快完成Web应用的开发,PHP代码的调试也比PERL或C语言容易很多,不过经常会碰到有php转载 2012-02-26 01:16:13 · 932 阅读 · 0 评论 -
php http 301 302 重定向 跳转
301、302 都是HTTP状态的编码,都代表着某URL发生了转移,不同之处在于:301 代表永久性转移(Permanently Moved),302 代表暂时性转移(Temporarily Moved)。用htaccess做301重定向很不错,不过需要apache、litespeed等的支持。如果是iis怎么办,可以用php重定向。header('HTTP/1.1 301 Moved P转载 2011-12-22 15:18:00 · 17487 阅读 · 0 评论 -
PHP中的错误处理和日志函数
debug_backtrace — 返回一个供调试使用的信息树debug_print_backtrace — 打印一个供调试使用的信息树error_get_last — 捕获最后的一条错误信息error_log — 将php的错误信息发送到某处error_reporting — 设定php的错误显示状况restore_error_handler — 恢复set_error_ha转载 2011-12-22 11:12:05 · 2827 阅读 · 0 评论 -
php模拟get和post的几种方法
方法一:$re = file_get_contents($url);print_r($re); 方法二:$ch = curl_init("http://www.jb51.net/") ; curl_setopt($ch, CURLOPT_RETURNT原创 2011-07-05 13:45:05 · 7455 阅读 · 0 评论 -
xdebug的安装
<br />xdebug是一个开源的php调试器,以php模块的形式加载并被使用。<br />windows 平台下:<br />一、安装xdebug模块<br />1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,现在最新的版本是 2.1.1。<br />2、修改php.ini,增加如下信息view sourceprint?de>1.de>de>[Xdebug]de>de>2.de>de>zend_extension_ts="d:转载 2011-05-09 15:08:00 · 597 阅读 · 0 评论 -
PHP 的一些高效写法
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 $row[id] 的速度是$row转载 2011-06-15 18:25:00 · 756 阅读 · 0 评论 -
php取整函数
php取整函数2008年04月22日 星期二 13:31 经常用到的PHP取整函数,主要是:ceil,floor,round,intval ceil -- 进一法取整说明float ceil ( float value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 fl原创 2011-06-07 00:52:00 · 520 阅读 · 0 评论 -
trim函数去掉首位指定字符
<br />有以下代码:<br />$str = '123 This is a test 123 ... ...';<br />echo trim($str, "A..Z 0..9 .").'<br />';<br />echo trim($str, ".");<br /><br />输出结果是:<br />his is a test<br />123 This is a test 123 ... <br /> <br />1.去除大写字母、数字、空格和点<br />2.仅去除点<br /><br />注意原创 2011-03-31 22:56:00 · 1336 阅读 · 0 评论 -
网页缓存头部设定
HTM网页不要缓存需要缓存原创 2011-05-18 15:51:00 · 655 阅读 · 0 评论 -
PHP服务器时间差8小时解决方案
<br />date(‘Y-m-d H:i:s’)<br />结果取出来显示的时间总是于本地时间相差8个小时,我的本机是中国标准时间(GTM+8),问题应该是date()取的时间是格林威治时间,那应该怎么配置一下PHP服务器呢?<br />下面是我在网上找到的解决方法<br />问题原因所在 <br />从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的 <br />也就是显示的时间(无论用什么php命令)都是格林威治标准时间 <br />和我们的时间(北京转载 2011-03-30 15:49:00 · 4445 阅读 · 0 评论 -
php的位运算
<br />//位运算符<br />$a &= $b $a = $a & $b <br />$a |= $b $a = $a | $b<br />$a ^= $b $a = $a ^ $b <br />$a <<= $b转载 2011-03-30 10:50:00 · 864 阅读 · 0 评论 -
js和css的动态内联
OUTPUT} else { echo ""; echo ""; echo原创 2011-05-19 11:21:00 · 1506 阅读 · 0 评论 -
PHPExcel 导出2003和2007的excel文档实例
<br /> require_once 'common/excel/PHPExcel.php'; require_once 'common/excel/phpExcel/Writer/Excel2007.php'; require_once 'common/excel/phpExcel/Writer/Excel5.php'; include_once 'common/excel/phpExcel/IOFactory.php'; $objExcel = new PHPExcel(原创 2011-03-28 21:42:00 · 18727 阅读 · 4 评论 -
php字符分割的几个函数
第一个$str = 'one|two|three|four';print_r(explode('|', $str));// 正数的 limitprint_r(explode('|', $str, 2));// 负数的 limit原创 2011-07-05 14:11:30 · 1683 阅读 · 0 评论 -
在php.ini中设置表单上传文件的大小,以及获取设置的值的方法 .
在php.ini中PHP上传文件涉及到的参数PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数: file_uploads 是否允许通过HTTP上传文件的开关,默认为ON即是开原创 2011-07-07 23:35:54 · 696 阅读 · 0 评论 -
PHP中print_r、var_export、var_dump的区别
print_r跟var_export都是可以作为返回值的,只需要把第二个参数设置为true即可,var_dump是没有返回值的print_rbool print_r ( mixed expression [, bool return])注: 参数 return 是在 PHP 4.3.0 的时候加上的print_r() 显示关于一个变量的易于理解的信息。如果给出的是原创 2011-12-21 23:37:16 · 1048 阅读 · 0 评论 -
PHP的echo为什么这么慢
作为一个行走江湖多年的老中医,今天受命去解决一例前端页面展现缓慢的问题。问题页的情况如下: apache + php 使用smarty模板输出内容 页面最终输出内容较大,80k+ 页面执行时间在500ms以上 祭出法宝xhprof对问题页面做了细致检查,发现页面的瓶颈竟然是模板(编译后的)中的一个echo语句,这个echo语句输出的字符串比较大,大转载 2011-12-20 11:15:55 · 692 阅读 · 0 评论 -
php几个安全函数
htmlspecialchars() 函数htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。查看源代码的时候可以看到转义编码预定义的字符是:& (和号) 成为 &" (双引号) 成为 "' (单引号) 成为 '> (大于) 成为 >htmlspecialchars(string,quotestyle转载 2011-12-12 12:20:22 · 796 阅读 · 0 评论 -
php中字符串格式转换
%% - 返回百分比符号%b - 二进制数%c - 依照 ASCII 值的字符%d - 带符号十进制数%e - 可续计数法(比如 1.5e+3)%u - 无符号十进制数%f - 浮点数(local settings aware)%F - 浮点数(not local settings aware)%o - 八进制数%s - 字符串%x - 十六进制数(小写字母)%X - 十六进制数(大写字母)原创 2011-12-18 22:53:15 · 939 阅读 · 0 评论