PHP
lampsunny
这个作者很懒,什么都没留下…
展开
-
php下载文件
//Fri Mar 18 14:43:33 CST 2011$name='moneydata/'.$_GET['txtname'].'.txt';$size=filesize($name);$fileonename= substr(strrchr($name,'/'),1);$filetype= substr(strrchr($name,'.'),1); $onename=原创 2012-04-07 10:30:19 · 459 阅读 · 0 评论 -
PHP 性能优化技巧
1. 不要随便就复制变量有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!BAD:$description = $_POST['description原创 2012-04-06 09:29:36 · 475 阅读 · 0 评论 -
php生成随机数
// 生成0123456789abcdefghijklmnopqrstuvwxyz中的一个字符function getOptions(){$options = array();$result = array();for($i=48; $i<=57; $i++){array_push($options,chr($i)); }for($i=65; $i<=90; $i++){$j原创 2012-04-06 09:30:06 · 1046 阅读 · 0 评论 -
php错误提示等级及修改
在程序中去掉页面上的notice 在程序开始直接一句error_reporting(E_ALL ^ E_NOTICE);如果不具备修改php.ini的权限,可以如下:ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);当然,如果能够修改php.ini的话,如下即可:disp原创 2012-04-06 09:23:40 · 578 阅读 · 0 评论 -
PHP数组转换编码类
class arrayiconv { static protected $in; static protected $out; /** * 静态方法,该方法输入数组并返回数组 * * @param unknown_type $array 输入的数组 * @param unknown_type $in 输入数组的编码 * @param unknown_ty原创 2012-04-06 09:34:35 · 551 阅读 · 0 评论 -
PHP删除字符串中的任何字符函数
function delStr($start, $end, $orgenStr){ //读取要删除字符位置的前一部分字符串,并赋值给$temp //strpos读取字符第一次出现的位置 //substr读取指定开始与结束位置的子字符串 //echo $before."—". $last; $temp=$orgenStr; while(strpos($te原创 2012-04-06 09:40:47 · 3037 阅读 · 0 评论 -
PHP服务器变量$_SERVER详解
红色的是我认为比较常用和重要的,蓝色部分是我自己调试后加上的,便于理解。转载请尊重劳动成果,呵呵,体力活,不好整。服务器变量 $_SERVER 详解:1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。3、$_SERVER[原创 2012-04-07 10:29:33 · 427 阅读 · 0 评论 -
验证电话号码的正则表达式
1,这种是比较简单的验证号码:电话号码只能包含”(“、“)”、“-”和数字 也适合TextBox2.这种是有点复杂的:下面的区号3-4位,电话号码7-8位,只能包含”(“、“)”、“-”和数字 var str = "(010)68836694"; var reg =/^(\({0,1}\d{3,4})\){0,1}(-)原创 2012-04-07 10:30:26 · 914 阅读 · 0 评论 -
dirname(__FILE__)和DIRECTORY_SEPARATOR和glob()函数
比如当前文件是放在(d:\www\)下,文件名是test.php。测试的代码如下:使用方法提示,dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。如果重复一次可以把目录往上提升一个层次:比如:$d = dirname(dirname(__FILE__));其实就是把一个目录给dirname()做参数了.因为dirn原创 2012-04-07 10:40:09 · 3701 阅读 · 0 评论 -
php调用其他系统的接口整理
下面将用到向远程服务器提交参数,并获取结果来处理。先收集几种远程执行URL并取得结果的方法。晚上有时间就完成这个功能。 方法1: 用file_get_contents 以get方式获取内容 $url=’http://www.zhoz.com/’; $html = file_get_contents($url); //print_r($http_respo原创 2012-04-12 09:19:42 · 1020 阅读 · 0 评论 -
PHP 常量 dirname(__file__) 学习
PHP 常量 dirname(__file__)__FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径1)dirname(__FILE__) 函数返回的是脚本所在在的路径。 比如文件 b.php 包含如下内容: $basedir = dirname(__FILE__); echo $basedir;//将在页面打原创 2012-04-06 09:29:14 · 1279 阅读 · 0 评论 -
php多线程php fsockopen解决办法
问题:有没有办法在php中实现多线程呢?假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。可以实现吗?回答:当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的语言,比如perl。其实的是大多数情况下,你大可不必使用for原创 2012-04-07 10:42:16 · 1306 阅读 · 0 评论 -
PHP Session机制解惑
虽然很多人已经能熟练使用Session,但不见得所有人对其原理都熟悉,下面推荐一篇不错的文章!一、PHP SESSION原理我们知道,session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如原创 2012-04-07 10:40:50 · 522 阅读 · 0 评论 -
FirePHP 推荐一款PHP调试工具
PHP调试有很多中方法。今天给大家推荐的是 FirePHP 这个工具,是基于firefox的一个组件。Firephp组件安装地址。使用之前需要先安装下这个组件。完了还需要down一个FirePHP的包。PHP调试有很多中方法。今天给大家推荐的是 FirePHP(http://www.firephp.org/)。这个工具,是基于firefox的一个组件。Firephp组件安装地址。使用之前需原创 2012-04-07 10:39:30 · 724 阅读 · 0 评论 -
php webservice实例(简单易懂)
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;OK 现在我们来体验webservice//server端原创 2012-04-07 10:42:40 · 706 阅读 · 0 评论 -
打开网络的 Socket 链接函数
打开网络的 Socket 链接。 语法: int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]); 返回值: 整数原创 2012-04-07 10:43:30 · 472 阅读 · 0 评论 -
php-addslashes、stripslashes、魔术引号(字符串转义)
string addslashes ( string str)返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(\')、双引号(\")、反斜线(\\)与 NUL(NULL 字符)stripslashes作用相反$str = \"Is your name O\\\'reilly?\";// Outputs:原创 2012-04-06 09:24:10 · 948 阅读 · 0 评论 -
PHP iconv()函数和mb_convert_encoding()函数的区别(关于字符编码的函数)
在以前的学习当中,比方说有一次的写采集过程中转换字符的编码的时候老是失败,转换的结果总没有完全输出,后来经过网络查询得知是iconv有一个“-”漏洞,所以我们有必要掌握PHP的另一个字符编码函数mb_convert_encoding。mb_convert_encoding函数为php内部多字节字符串编码转换函数,可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文原创 2012-04-06 09:31:54 · 3719 阅读 · 0 评论 -
列出目录下的所有文件
/*// 定于需要列出的目录地址$dir = "C:\APMServ5.2.6\www\htdocs\ahinksns\ahinkphp";// 用 opendir() 打开目录,失败则中止程序$handle = @opendir($dir) or die("Cannot open " . $dir);echo "Files in " . $dir . ":";// 用 readd原创 2012-04-06 09:32:25 · 506 阅读 · 0 评论 -
PHP session常见问题集锦及解决办法
1. 错误提示 Warning: Cannot send session cookie - headers already sent Warning: Cannot send session cache limiter - headers already sent 分析及解决办法 这一类问题,的原因是你在程序中使用session_start()时,之前已经有原创 2012-04-06 09:38:05 · 630 阅读 · 0 评论 -
php 数组排序
$oldRelation = '1,214|3,456|2,333|1,23434';echo $oldRelation.'';$aRelation = explode('|',$oldRelation);foreach ($aRelation as $k=>$v){ $a[] = explode(',',$v);}sort($a); //排列数组echo '';prin原创 2012-04-07 10:30:33 · 357 阅读 · 0 评论 -
php出现Cannot modify header information问题的解决方法大全
我做了一个统一的出错提示函数,在函数执行里面,先处理出错的地址写入cookie以方便用户登陆以后可以直接跳转到要执行的这个页面,可是发现在服务器上测试时,竟然提示本地没有出现的错误: Warning: Cannot modify header information - headers already sent by....这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一原创 2012-04-07 10:31:46 · 645 阅读 · 0 评论 -
php递归创建和删除文件夹
<?php /** * 目录生成类 :UtilsMakeDir * @author yepeng * @since 2010.3.18 */class UtilsMakeDir{ //基目录 建立目录时不会对这个目录进行建立。这应该是个已经存在的目录 private static $makeBasePath = 'video'; private static $delBase原创 2012-04-13 21:26:58 · 996 阅读 · 0 评论 -
php截取字符串substr,strpos用法
例如$m=abcd_xyz:怎样提取下划线“_”之前和之后的字符串?1.substr($m,0,strpos($m,"_")); //先用strpos得到_前面有几个字符(即4),再用substr获取从第一位(0表示从第一位开始)起,4个字符长度的字符(及abcd)2.substr($m,strpos($m,"_")+1); //用substr获取从第4加1位起剩下的全部字符s原创 2012-06-16 22:53:55 · 18010 阅读 · 0 评论 -
如何编写PHP扩展
简介 PHP取得成功的一个主要原因之一是她拥有大量的可用扩展。web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到。PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展。扩展API的引入使PHP3取得了巨大的进展,扩展API机制使PHP开发社区很容易的开发出几十种扩展。现在,两个版本过去了,API仍然和PHP3时的非常相似。扩展主要的思想是:转载 2014-02-17 13:59:49 · 565 阅读 · 0 评论 -
Phpcms2007目录结构
原创 2014-02-17 14:53:43 · 935 阅读 · 0 评论 -
php几个函数
ob_get_contents() 函数的用法下面3个函数的用法ob_get_contents();ob_end_clean();ob_start()可以借助这几个函数实现缓冲本地文件,以及执行本地脚本代码。使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。然后用ob_get_contents得到缓冲区的数据。o原创 2014-02-17 14:48:11 · 744 阅读 · 0 评论 -
多维数组转换成字符串和将数组完整写入文件
<?phpheader("Content-type: text/html; charset=utf-8");function arr_foreach ($arr) { if (!is_array ($arr)) { return false; } foreach ($arr as $key => $val ) { if (is_array ($val)) {原创 2012-09-15 21:32:04 · 725 阅读 · 0 评论 -
PHP实现一维数组转换成二维数组实例
数组$district打印的结果如下:原创 2014-05-16 21:35:41 · 7941 阅读 · 0 评论 -
Win 7(64位) apache+php+mysql环境搭建
软件下载目前,Apache和PHP均未出现官方的64位版本。Apache 64位PHP 64位MySQL 64位如果网上找不到下载地方,可发邮件到lampsunny#qq.com(将#改为@)小编会把相关的下载地址或软件发送给您 安装Apache 64位1. 解压将下载的httpd-2.2.17-win64.rar压缩包解压到某一目录下,如D:\Apache2.原创 2012-04-07 10:40:31 · 2908 阅读 · 0 评论 -
关于PHP5.3作废函数的处理方法
作废函数如下: call_user_method()(使用 call_user_func() 替代) call_user_method_array() (使用 call_user_func_array() 替代) define_syslog_variables() dl() ereg() (使用 preg_match() 替代) ereg转载 2014-05-14 10:59:48 · 633 阅读 · 0 评论 -
PHP中的VC6,VC9,TS,NTS,php的运行方式
以windows为例,看看下载到得php zip的文件名php-5.4.4-nts-Win32-VC9-x86.zip VC6:legacy Visual Studio 6 compiler,是使用这个编译器编译的。VC9:Visual Studio 2008 compiler,就是这个编译器编译的。这个其实没有什么太大的影响,因为从php 5.3,已经没有vc转载 2014-06-04 10:20:57 · 1419 阅读 · 0 评论 -
PHP异步调用方法
客户端与服务器端是通过HTTP协议进行连接通讯,客户端发起请求,服务器端接收到请求后执行处理,并返回处理结果。有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回给客户端。但因为php是同步执行的,所以客户端需要等待服务处理完才可以进行下一步。test-a.php<?phpheader("Content-type:text/html;charset=utf-8");原创 2017-05-31 12:57:34 · 4046 阅读 · 0 评论 -
iis添加php支持
1.确认在IIS里面,网站-》属性-》ISAPI筛选器-》php模块前面有个绿色箭头(如若没有,需要向服务器请求一次,比如在浏览器里面输入http://localhost/,如果箭头是红色的,那么前面关于PHP的配置有问题。)2.确认IIS->服务扩展->php状态有个小绿色对号。(如若未添加php扩展,请右键单击服务扩展,添加一个web服务扩展,依次添加就是了。)3.NTFS文件权限设置原创 2014-02-11 21:08:27 · 1268 阅读 · 0 评论 -
匹配姓名正则utf8
/^[\u4e00-\u9fa5]+$/*姓名不符合规定,应由2-6个汉字组成原创 2014-01-02 11:29:15 · 1281 阅读 · 0 评论 -
php抓取替换图片路径函数
/** * * 替换url * @param string $string 内容字符串 * @param string $url */function changestring($content,$url){ preg_match_all("/]+>/isU",$content,$matches); if(!empty($matches)){ $imgurl = $mat原创 2013-10-07 10:26:27 · 2580 阅读 · 0 评论 -
php图片识别
/** * 电话号码识别. * @author by zsc for 2010.03.24 */ class gjPhone{ protected $imgPath;//图片路径 protected $imgSize;//图片大小 protected $hecData;//分离后数组 protected $horData;//横向整理的数据 protected原创 2011-03-31 09:36:00 · 2733 阅读 · 5 评论 -
php缓存扩展频繁存储/读取数组引发CPU过高问题排查手记(php-memcache为例)
最近进行性能排查的时候发现一个怪事:用php-memcache,缓存命中率越高CPU反而占用越大。联想起之前用Xcache进行载入速度排除测试时也出现此问题,不禁疑惑了:不是说缓存命中率越高越好么?怎么变成烧CPU了?今天周六总算空闲,决定硬着头皮去粗略浏览相关扩展源代码。现在写下来当手记。(1)php缓存扩展共有的特性得益于php的弱语原创 2012-11-16 10:34:11 · 1422 阅读 · 0 评论 -
CI去掉index.php
为了美观一些,去掉CI默认url中的index.php。分三步操作:1.打开apache的配置文件,conf/httpd.conf :LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉。搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为Al原创 2012-12-10 11:59:40 · 674 阅读 · 0 评论 -
使用curl发起https请求
使用curl如果想发起的https请求正常的话有2种做法:(1) 设定为不验证证书和host。在执行curl_exec()之前。设置option$ch = curl_init();……curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,原创 2013-01-14 09:01:02 · 720 阅读 · 0 评论