-
CodeIgniter生成网站sitemap地图的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:77
1.建立了一个名为sitemap的控制器 代码如下: if (!defined('BASEPATH')) exit ('No direct script access allowed');class Sitemap extends CI_Controller{ public function __construct() { parent::__construct(); $this->load->model('sitemapxml'); }fun[详细]
-
php curl模拟post请求小实例
所属栏目:[PHP教程] 日期:2020-12-12 热度:57
本机: div class="codetitle" a style="CURSOR: pointer" data="34666" class="copybut" id="copybut34666" onclick="doCopy('code34666')" 代码如下: div class="codebody" id="code34666" ?php $uri = "http://www.a.com/test.php";//这里换成你服务器的[详细]
-
使用phpQuery采集网页的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:88
phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。 采集头条 先看一实例,现在我要采集新[详细]
-
使用PHP静态变量当缓存的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:95
下面这个PHP的代码实例,功能是帮助用户重置密码,requestResetPassword是接收用户重置密码的请求并且做了相应的检查。为了更好的复用性,我将重置密码的操作单独分配到一个新的resetPassword的函数,更改完密码的后再调用sendEmail向用户发送一封通知邮件。[详细]
-
PHP生成sitemap.xml地图函数
所属栏目:[PHP教程] 日期:2020-12-12 热度:85
代码如下: * 网站地图更新控制器 * * @author Garbin * @usage none */ class SitemapApp extends FrontendApp { function __construct() { $this->SitemapApp(); } function SitemapApp() { parent::__construct(); $this->_google_sitemmap_file = ROOT_PA[详细]
-
PHP将XML转数组过程详解
所属栏目:[PHP教程] 日期:2020-12-12 热度:191
得到一个xml型的对象: 代码如下: $resp = $this->c->execute($req,$sessionKey);//获得xml对象 $items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯。 php提供了array方法将对[详细]
-
使用php计算排列组合的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:147
前些天因为业务需要写了一段计算排列组合的代码,今天整理了一下,以备后用 div class="codetitle" a style="CURSOR: pointer" data="32140" class="copybut" id="copybut32140" onclick="doCopy('code32140')" 代码如下: div class="codebody" id="code3214[详细]
-
php生成EAN_13标准条形码实例
所属栏目:[PHP教程] 日期:2020-12-12 热度:192
下面的就是生成EAN_13标准的条码的PHP方法,需要php+gd 环境 代码如下: function EAN_13($code) { //一个单元的宽度 $lw = 2; //条码高 $hi = 100; // the guide code is no coding,is used to show the left part coding type// // Array guide is used to r[详细]
-
php堆排序(heapsort)练习
所属栏目:[PHP教程] 日期:2020-12-12 热度:79
代码如下: //堆排序应用 class heapsort { var $a; function setarray($a)//取得数组 { $this->a=$a; } function runvalue($b,$c)//$a 代表数组,$b代表排序堆,$c代表结束点, { while($b { $h1=2*$b; $h2=(2*$b+1); if($h1>$c) break; elseif($h1==$c) { if([详细]
-
PHP反射类ReflectionClass和ReflectionObject的使用方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:167
PHP中的扩展反射类,该扩展用来分析php程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。 看一个这样的问题,php类的成员变量没有在类中声明,而是在函数中声明,有什么不同? div class="codetitle" a style="CURSOR: pointer" data="73[详细]
-
phpQuery占用内存过多的处理方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:134
phpQuery是一个用php实现的类似jQuery的开源项目,可以在服务器端以jQuery的语法形式解析网页元素。 相对于正则或其它方式匹配网页方式,phpQuery使用起来要方便的多。 在使用phpQuery采集网页时,遇到一个问题:在处理大量网页之后,phpQuery占用的内存数量[详细]
-
php5.3 不支持 session_register() 此函数已启用的解决方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:149
php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了。 报错内容是 Deprecated: Function session_register() is deprecated 查了一下是5.3这个session_register就不让用了,降回去?不爽。 搜了一把,有个解决方法是写一个函数 代码如下: // Fix f[详细]
-
php不允许用户提交空表单(php空值判断)
所属栏目:[PHP教程] 日期:2020-12-12 热度:174
可以修改代码,添加些判断: 代码如下: if(empty($_POST['name'])){ echo "俗话说的好,雁过留声人过留名 "; } elseif(empty($_POST['comment'])){ echo "矮油,多说几句吧~"; } else{ $sql = "INSERT INTO myblog_comments(blog_id,dateposted,name,comment[详细]
-
PHP中判断变量为空的几种方法小结
所属栏目:[PHP教程] 日期:2020-12-12 热度:83
1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 代码如下: $a = ''; $a['c'] = ''; if (!isset($a))[详细]
-
测试php函数的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:105
今天忽然想到的,就写了一段测试php函数的代码。 代码如下: /** * 参数数组$ParamList说明 * * 数组的第一维索引是需要测试的函数的参数名,第二维的每个元素是该参数需要测试的可能值,元素值可以为数组。 */ $ParamList = array("Param1" => array(3,4,3,2[详细]
-
多个PHP中文字符串截取函数
所属栏目:[PHP教程] 日期:2020-12-12 热度:50
代码如下: function sysSubStr($string,$length,$append = false) { if(strlen($string) { return $string; } else { $i = 0; while ($i { $stringTMP = substr($string,$i,1); if ( ord($stringTMP) >=224 ) { $stringTMP = substr($string,3); $i = $i + 3[详细]
-
PHP统计二维数组元素个数的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:159
解决思路 1. 首先从数据库的congtent字段读取数据,并把它们合并成一个字符串。 代码如下: while($myrow = $connector -> fetch_array($result)) { //$r[] = explode(",",$myrow["content"]); $str .= $myrow["content"].','; }$arr_str = substr($str,-1);[详细]
-
PHP使用正则表达式清除超链接文本
所属栏目:[PHP教程] 日期:2020-12-12 热度:57
可以用$str = preg_replace("/]*href=[^>]*>| ]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的。 1、删除内容中的超链接 代码如下: ([^ ',$content);ereg_replace("]*>| ",$content); 2、消除包含特定词的超链接 代码如下: ';//[详细]
-
session在php5.3中的变化 session_is_registered() is deprecate
所属栏目:[PHP教程] 日期:2020-12-12 热度:103
在php5.3中运行书中代码会有如下提示: Function session_is_registered() is deprecated in Function session_register() is deprecated in 意思是说这两个函数是不赞成的,弃用的。下面是php官方手册上的代码,注释部分已经说明了不赞成用session_register[详细]
-
php用正则表达式匹配URL的简单方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:80
在PHP的官网上看到的parse_url()函数的替代方案。结果和parse_url()函数差不多,是使用正则实现的。URI 是 Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通用资源标志符(Uniform Resource Identifier,简称"URI")进行定位。 对象分组:[详细]
-
CodeIgniter使用phpcms模板引擎
所属栏目:[PHP教程] 日期:2020-12-12 热度:101
CodeIgniter很适合小站点应用开发,但是它自带的view功能可能会给不懂PHP的前端人员带来麻烦。 相比之下phpcms的view模板解析就强大多了,所以这里就把PHPCMS的模板解析功能剥离出来,加到PHPCMS上。 首先在CodeIgniter libraries中 增加 template_cache.php[详细]
-
php file_get_contents抓取Gzip网页乱码的三种解决方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:50
把抓取到的内容转下编码即可($content=iconv("GBK","UTF-8//IGNORE",$content);),我们这里讨论的是如何抓取开了Gzip的页面。怎么判断呢?获取的头部当中有Content-Encoding: gzip说明内容是GZIP压缩的。用FireBug看一下就知道页面开了gzip没有。下面是用fir[详细]
-
php session劫持和防范的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:98
session 数据暴露 会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不是在数据库或文件系统中。因此,会话数据自然不会公开暴露。 使[详细]
-
php防止SQL注入详解及防范
所属栏目:[PHP教程] 日期:2020-12-12 热度:107
一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推[详细]
-
php inc文件使用的风险和注意事项
所属栏目:[PHP教程] 日期:2020-12-12 热度:66
数据库使用中需要关注的主要问题之一是访问权限即用户名及密码的暴露。在编程中为了方便,一般都会用一个db.inc文件保存,如: div class="codetitle" a style="CURSOR: pointer" data="10654" class="copybut" id="copybut10654" onclick="doCopy('code1065[详细]