PHP开发与研究
文章平均质量分 96
猪猪执行官
这个作者很懒,什么都没留下…
展开
-
一个很好的相册切换效果
http://blog.cnfstar.com/p/view.php?id=33#4|5|3一个很好的相册切换效果(自我感觉好,希望大家别见笑)原创 2008-06-02 16:35:00 · 761 阅读 · 0 评论 -
Kohana ORM 规则详解
ORM 约定Kohana ORM 类遵循以下几个条件。大多数的条件都是由 ORM 的性能所决定的:表名是复数形式,例如:users (设置 $table_names_plural 为 FALSE 可以重写)模型的名字是表名的单数形式(例如:user)并加上 _Model 后缀。例如:User_Model (在模型中重新设置 $table_name可以覆盖父类)。每一个表的主转载 2010-04-14 17:29:00 · 3471 阅读 · 0 评论 -
PHP多进程协作编程之-popen
使用popen结合SHELL命令也可以实现多进程并发编程。实例如下: //b.php文件$file = testdir/file.txt;for ($i=0;$i $fp = fopen($file,a+); fputs($fp, $i./r/n); fclose($fp); sleep(1);}?> //p.phpecho原创 2010-05-02 20:02:00 · 1198 阅读 · 0 评论 -
php面向对象编程 – 观察者模式
这篇文章介绍一下设计模式中的观察者模式。 观察者模式应用到php面向对象编程中,可以避免组件之间紧密耦合。另外的关于如何避免组件之间机密耦合的方法,可以参考php面向对象编程 – 使用接口实现松散耦合这篇文章。观察者模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的转载 2010-05-02 20:10:00 · 769 阅读 · 0 评论 -
PCNTL函数族--PHP多进程编程
php有一组进程控制函数,使得php能在*nix系统中实现跟c一样的创建子进程、使用exec函数执行程序、处理信号等功能。引用Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termin转载 2010-05-02 18:58:00 · 5863 阅读 · 0 评论 -
PHP多进程协作编程之-socket
基本思路:通过SOCKET请求其他PHP脚步,实现PHP的多进程的异步执行。废话就不多说了,请看下面的脚步并执行之。//a.phpfunction runThread(){$fp = fsockopen(127.0.0.1, 82, $errno, $errmsg);fputs($fp, "GET /a.php?act=b/r/n"); //这里的第二个参数是HTTP协议中规定的请求头原创 2010-05-02 19:01:00 · 1436 阅读 · 0 评论 -
PHP下载或导出文件时的若干问题
<br />1、如何隐藏文件的真实物理地址?<br /> 通过动态脚本读取文件内容并输出,这样可以避免真实的物理地址外露。在PHP中有一个常用于文件下载的函数:readfile -- 输出一个文件<br /> int readfile ( string filename [, bool use_include_path [, resource context]] )<br /> 读入一个文件并写入到输出缓冲。 <br /> 返回从文件中读入的字节数。如果出错返回 FALSE原创 2010-08-10 14:19:00 · 3547 阅读 · 0 评论 -
Linux下的Apache和PHP安全设置
<br />(1) safe_mode: 以安全模式运行php;<br />在php.ini文件中使用如下<br />safe_mode = On (使用安全模式)<br />safe_mode = Off (关闭安全模式)<br />在apache的httpd.conf中VirtualHost的相应设置方法<br />php_admin_flag safe_mode On (使用安全模式)<br />php_admin_flag safe_mode Off (关闭安全模式)<br />或者:<br />p转载 2011-01-20 11:10:00 · 964 阅读 · 0 评论 -
php注入十点基本步骤
来源:Neeaohttp://huaidan.org/archives/720.html1.判断是否存在注入,加';and 1=1;and 1=22.判断版本 and ord(mid(version(),1,1))>51 /* 返回正常说明是4.0以上版本,可以用union查询3.利用order by 暴字段,在网址后加 order by 10 /* 如果返回正常说明字段大于10转载 2012-06-09 20:32:53 · 829 阅读 · 0 评论 -
PHP注入完整教程
在这个注入风靡的时代,多少菜鸟拿着工具四处冲锋.如果你不想成为工具的奴隶,不想遇到PHP就退避三舍,不想继续做着ASP的菜鸟之群,不 想......那么请你静下心来, 随我一同走完这次的入侵检测全过程.相信你必然能有所收获.不只在技术上,更在思路上,更在意识上.. 判断是否存在注入:首先,PHP和ASP判断注入的方法一样,在一个动态连接后面加上and 1=1,and 1=2看其返回结果即转载 2012-06-09 20:34:38 · 1447 阅读 · 0 评论 -
PHP.ini 安全相关配置详解
安 全,PHP代码编写是一方面,PHP的配置更是非常关键。我们php手手工安装的,php的 默认配置文件在/usr/local/apache2/conf/php.ini,我们最主要就是 要配置php.ini中的内容,让我们执行 php能 够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开 /转载 2012-06-09 20:42:21 · 1623 阅读 · 0 评论 -
ionCube 一款类似zend的PHP加密/解密工具
ionCube是用来加密PHP的工具。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。ionCube loader是免费的,但是Encoder的价格就比较昂贵(起价$19转载 2012-06-28 14:07:17 · 4170 阅读 · 0 评论 -
PHPUnit学习笔记断言详解-Assertions
断言(Assertions)是PHPUnit提供的一系列对程序执行结果测试的方法。通俗的讲,就是断言执行程序结果为我们期待的值,如果不是则测试失败,下面是断言方法的详细介绍,内容全部来翻译自PHPUnit的官方文档,部分方法官方介绍的很模糊,我根据官方的源码注释增加了说明和注释assertArrayHasKey(mixed $key, array $array[, string $转载 2012-11-04 11:36:28 · 1203 阅读 · 0 评论 -
phpunit 在kohana3.3中的使用方法
安装phpunit步骤:1、安装apache & php2、安装pear3、安装phpunitpear install phpunit/PHPUnit运行测试 kohana system$ phpunit --bootstrap=modules/unittest/bootstrap.php modules/unittest/tests.p原创 2012-11-04 19:04:04 · 1760 阅读 · 1 评论 -
Mac10.10重新安装PHP问题
Mac10.10 brew安装PHP提示Cannot find OpenSSL’s evp.h解决方法: brew install openssl 安装xcode命令行 xcode-select –install 重启然后重新安装添加brew的PHP扩展库:$ brew update$ brew tap homebrew/dupes$ brew tap homebre转载 2015-05-26 23:20:49 · 3417 阅读 · 0 评论 -
Mac下用brew搭建PHP(LNMP/LAMP)开发环境
Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高Brewbrew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,不能方便更多…brew的安装方式如下:ruby -e "$(curl -fsSL https:/转载 2015-05-26 23:45:13 · 736 阅读 · 0 评论 -
如何编写一个PHP的C扩展
为什么要用C扩展C是静态编译的,执行效率比PHP代码高很多。同样的运算代码,使用C来开发,性能会比PHP要提升数百倍。IO操作如CURL,因为耗时主要在IOWait上,C扩展没有明显优势。另外C扩展是在进程启动时加载的,PHP代码只能操作Request生命周期的数据,C扩展可操作的范围更广。第一步下载PHP的源代码,如php-5.4.16。解压后进入php-5.4.16\ext目录转载 2015-09-30 09:36:46 · 480 阅读 · 0 评论 -
php中使用soap的建立共享接口
在网站需要建立共享接口的时候,可以使用soap。 下面介绍下在PHP中如何使用SOAP的完整过程。1、确认PHP环境是否支持soap,检查php配置文件,把extension=php_soap.dll前的分号(;)去掉(windows);若是自己编译则编译时必须加上 --enable-soap选项。2、建立soap服务端。 下面通过实例来说明如何建立服务端。class service_class原创 2010-01-08 10:17:00 · 2210 阅读 · 1 评论 -
20个非常有用的PHP类库
下面是一些非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。图表库下面的类库可以让你很简的创建复杂的图表和图片。当然,它们需要GD库的支持。pChart - 一个可以创建统计图的库。Libchart - 这也是一个简单的统计图库。 JpGraph - 一个面向对象的图片创建类。 Open Flash Chart - 这是一个基于Flash的统计图。转载 2010-01-07 09:09:00 · 573 阅读 · 0 评论 -
PHP语言的一些缺陷
1. 对递归的不良支持递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。Zeev,一个PHP开发人员,说道:“PHP 4.0(Zend)对密集数据使用了栈方式,而不是使用堆方式。也就是说它能容忍的递归函数的数量限制和其他语言比起来明显少。”见bug 1901。这是一个很不好的借口。转载 2010-01-07 09:21:00 · 748 阅读 · 0 评论 -
php中list,each,foreach的区别
list,each,foreach进行代码说明<?php $data = array(a => data1, b => data2, c => data3); while($element = each($data)) { echo ($element[key]); echo "/n"; echo ($element[value]);原创 2008-06-17 13:19:00 · 4701 阅读 · 2 评论 -
MYSQL C PI预处理语句
25.2.4. C API预处理语句MySQL客户端/服务器协议提供了预处理语句。该功能采用了由mysql_stmt_init()初始化函数返回的MYSQL_STMT语句处理程序数据结构。对于多次执行的语句,预处理执行是一种有效的方式。首先对语句进行解析,为执行作好准备。接下来,在以后使用初始化函数返回的语句句柄执行一次或多次。对于多次执行的语句,预处理执行比直接执行快,主要原因在于转载 2009-03-09 21:36:00 · 3265 阅读 · 0 评论 -
PDOStatement->bindParam SQL语句参数绑定
PDOStatement->bindParam(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)PDOStatement->bindParam — Binds a parameter to the specified variable name Descriptionbool PDOStatement::bindParam ( mixed $原创 2009-03-09 20:54:00 · 4596 阅读 · 0 评论 -
优化PHP的四十个技巧
1. 如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用__get,__set,__autoload。 7.r转载 2009-03-17 15:56:00 · 656 阅读 · 0 评论 -
php运用readfile函数给隐藏下载文件地址增加权限判断
概要:php运用readfile函数给隐藏下载文件地址增加权限判断内容: $file = get_file_address();// 文件的真实地址(支持url,不过不建议用url) if (file_exists($file)) { header(Content-Description: File Transfer)原创 2009-04-07 22:38:00 · 1717 阅读 · 0 评论 -
Linux下SVN服务器的搭建与配置
下载最新的svn压缩包http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz//解压SubVersion安装包 (root用户进行下面的操作) # tar xvzf subversion-1.4.5.tar.gz//进入解压后的目录# cd Subversion-1.4.5//配置subversion安装#./c转载 2010-01-23 10:56:00 · 1790 阅读 · 0 评论 -
网上购物网站建设方案
系统概述网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制"商场"运营的成本,开辟了一个新的销售渠道…系统特点用户无需考虑系统的安装维护; 美观、友好的展示铺面; 设计中应用了多种网络安全技术; 顾客可以方便的查询并订购商品; 用户可以方便的定义各种商转载 2009-12-01 15:10:00 · 3743 阅读 · 0 评论 -
uchome 数据字典
uchome 数据字典uchome_ad (广告表,存放广告设置信息)字段类型Null默认注释adid smallint(6) 否 广告IDavailable tinyint(1)否1广告有效性:1为有效,0为无效title varchar(50)否 广告标题转载 2009-12-01 10:18:00 · 1751 阅读 · 0 评论 -
PHP正则表达式百科
基本概念一个正则表达式通常被称为一个模式 (pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。例如:Handel、Händel 和 Haendel 这三个字符串,都可以由“H(a|ä|ae)ndel”这个模式来描述。大部分正则表达式的形式都有如下的结构:选择| 竖直分隔符代表选择。例如“gray|grey”可以匹配grey或gray。数量限定某个字符后的数量限定符用来限定原创 2009-12-21 17:03:00 · 765 阅读 · 0 评论 -
常用编译配置
## fast-cgi模式编译php./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/loc原创 2009-12-21 21:56:00 · 945 阅读 · 0 评论 -
用于抓取网页内容的常用正则
下面列出在抓取网页中常用的正则规则,其中$content代表网页内容,$tmparray为抓取的结果存储数组。 抓取HTML中CSS里背景图片地址preg_match_all(/(background|background-image):url/([/"/]?([^/)]+)[/"/]?/)/i, $content, $tmparray); 抓取HTML中图片标签中的地址p原创 2009-12-23 13:07:00 · 3021 阅读 · 0 评论 -
php不包含某字符串的正则表达式
摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。 判断一个字符串中是否含有另一字符串,php有很多方法,如下:1. 常见函数strstr($str, "abc"); strstr($str, "abc");2. 正则匹配preg_match("/(abc)/is", $str); preg_转载 2009-12-24 15:01:00 · 5356 阅读 · 0 评论 -
CentOs5.4下LAMP环境搭建-问题集锦
文章已转移至:http://www.lampba.com/home-space-uid-4-do-blog-id-1.html 一、APACHE编译配置#./configure --prefix=/usr/local/apache2 --enable-rewrite=shared --enable-track-vars --enable-cgi --enable-so --enable原创 2010-03-08 13:28:00 · 3699 阅读 · 0 评论 -
正则-贪婪匹配(最大匹配) 和最小匹配的问题。
贪婪匹配(最大匹配) 和最小匹配的问题。在抓取链接地址时,使用以下正则时发现,当在链接标题 链接标题中含有HTML代码时,不能抓取到地址。/]+href=[/"/]{0,1}([^>/"//s]+)[/"/]{0,1}[^>]*>([^>]+)/i尚若换成以下方式/]+href=[/"/]{0,1}([^>/"//s]+)[/"/]{0,1}[^>]*>(。+)/i则不能抓取到你需原创 2010-03-09 09:17:00 · 15102 阅读 · 0 评论 -
PHP Startup: xxxx: Unable to initialize module
PHP Startup: xxxx: Unable to initialize modulePHP Startup: mongo: Unable to initialize moduleModule compiled with build ID=API20131226,NTSPHP compiled with build ID=API20131226,NTS,debugThes转载 2016-11-29 17:08:14 · 8582 阅读 · 0 评论