Category Archives: PHP

PHP

一句sql语句完成无限分类

– 表的结构 `cate` CREATE TABLE IF NOT EXISTS `cate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `pid` int(11) NOT NULL, `path` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

Posted in PHP | Tagged | Leave a comment

WordPress 数据结构分析

WordPress仅仅用了10 个表:wp_comments, wp_links, wp_options, wp_postmeta, wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms, wp_usermeta, wp_users 按照功能大致分为五类 用户信息: wp_users和wp_usermeta 链接信息: wp_links 文章及评论信息: wp_posts、wp_postmeta、wp_comments 对分类,链接分类,标签管理: wp_term,wp_term_relationships,wp_term_taxonomy 全局设置信息: wp_options

Posted in PHP | Leave a comment

php字符串截取, 支持常用编码

/** * 字符串截取,支持中文和其他编码 * * @static * @access public * @param string $str 需要转换的字符串 * @param string $start 开始位置 * @param string $length 截取长度 * @param string $charset 编码格式 * @param string $suffix 截断显示字符 * @return string */ function msubstr($str, … Continue reading

Posted in PHP | Tagged | Leave a comment

zend studio 8 汉化包

1、全新安装Zend Studio – 8.0.0正式版 2、打开这个Zend Studio 3、在菜单栏找到”Help”

Posted in PHP | Tagged | Leave a comment

php计划任务的实现

主要用了PHP的一个函数: ignore_user_abort 即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.

Posted in PHP | 16 Comments

用ignore_user_abort实现计划任务教程

ignore_user_abort,这个函数可以帮助我们实现像linux中的cron一样实现计划任务,下面一起来看下该如何来实现。 首先看下php手册对这个函数的解释

Posted in PHP | 6 Comments

PHP无限级分类方法及代码

无论你要构建自己的论坛,在你的网站上发布消息还是书写自己的CMS程序,你都会遇到要在数据库中存储层次数据的情况。同时,除非你使用一种像XML的数据库,否则关系数据库中的表都不是层次结构的,他们只是一个平坦的列表。所以你必须找到一种把层次数据库转化的方法。 存储树形结构是一个很常见的问题,他有好几种解决方案。主要有两种方法:邻接列表模型和改进前序遍历树算法

Posted in PHP | Tagged | Leave a comment

PHP Session 超时的问题

很多时候,当页面停在那里有一会动时,可能就需要你重新登陆。这是因为Session超时了,可惜的是在PHP中没有设置页面Session超时时间的功能。。。在PHP.ini中有两个可以设置Session时间的配置,一个是”session.gc_maxlifetime”,默认值是1440(24分钟),这个是Session在多少秒以后被清除。另外一个是”session.cache_expire”,默认是180(3小时),这个是文档过期时间,但似乎没有什么作用。   经过我的经验,可以使用以下方法解决这个问题。   1.使用Cookie来保存用户的登陆信息,但要注意安全问题,可以将数据加密但存入Cookie,当用户Session过期要求用户登陆时,程序首先读取Cookie来自动登陆。   2.在每个页面中加入这段代码:

Posted in PHP | 1 Comment

缓存PHP页面的代码,可以减轻CPU和MYSQL负担

缓存PHP页面的代码,可以减轻CPU和MYSQL负担 使用前,先在根目录创建“cache”文件夹,然后运行1.php,第一次运行和第二次运行速度差异很大。 欢迎熟悉PHP的朋友使用和提意见。

Posted in PHP | 7 Comments

Ecshop系统框架分析 二次开发

第一 、整体框架结构 : 整个系统是层结构 有数据层 有外观层 比如 我们index.php 是外观层(和用户打交道的层) 那推荐产品来说吧 在index.php 是对数据层函数的调用   get_recommend_goods(‘new’) 这个函 数 那么他是在include 目录下的lib_goods.php进行定义 既数据层。

Posted in PHP | 6 Comments

ecshop 二次开发,源码分析

Ecshop包括的文件夹有admin、api、cert、data、images、includes、js、languages、plugins、temp、theme、wap、widget这些文件夹,和根目录下的所有.php文件。这些文件和文件夹组成了整个ecshop。如果从软件工程角度分析ecshop的话,ecshop的二级可以看成admin和前台两个部分。admin主要是面向服务端的,而前台是面向客户端的,这是这两个部分的最明显的差别。下面给出ecshop的二级流程图:

Posted in PHP | Tagged | 7 Comments

ECSHOP二次开发文档(文件结构和数据库表分析)

Ecshop文件结构 ecshop文件架构说明 /* ECShop 2.5.1 的结构图及各文件相应功能介绍

Posted in PHP | Tagged | Leave a comment

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 上传的时候出现类似这种报错,原因是目录权限是否为可写的问题。 一般设置777就可以解决。 也有例外,今天我遇到这个问题,原因是因为要上传的目录里文件太多,清空此目录后即可。

Posted in PHP | Tagged | Leave a comment

zend studio7.2新功能亮点,建议升级

在zend7.0刚出来的时候对于中文支持相当的不好,所以我一般都不愿意给zend升级到7。不过在zend 7.1.2出来后对中文进行了完美的支持。但是有一点就是phpdoc格式有了一点 变化,因此当时也没有着急升级。 不知不觉zend studio7.2(以下称为zend7)发布了。试了一下比以前有了长足的发展。强烈建议使用zend进行开发的人升级到7.2。  

Posted in PHP | Tagged | Leave a comment

禁止apache显示目录文件列表,并默认调用index.php

Posted in PHP | 8 Comments

yiiframework 见过的最好的PHP框架

事实上,最近没有时间来写程序或者分析XOOPS代码。但是毕竟上网可以看点资料,于是就关注了yiiframework这个PHP框架。作者是薛强,华人(中文很好,可能是移民吧),Zend PHP5冠军,框架写得相当棒。 由于曾经使用Thinkphp写过一个XOOPS类似的程序,所以对框架在实际使用中的弊端有着很深的了解。但是查看了yiiframework的实例和手册,发现在yiiframework都可以充分解决这些问题。并且国内框架的“技术特性”在yiiframework都存在并且做得更好。另外yiiframework还有着丰富的扩展,你可以去官方发布或者下载各种扩展。 这一次是把国内的框架都可以比下去了。如果你能看懂基本的英文,我强烈推荐你使用yiiframework。 内部消息:如果你需要使用XOOPS,最好使用XOOPS 2.3.3 或者等待XOOPS 3.0,不要使用2.4。 Yii 是什么

Posted in PHP | Tagged | 1 Comment

21+ 实用便捷的 PHP 代码摘录

PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点。这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发者都会有所帮助。

Posted in PHP | Leave a comment

PHP 根据 IP 地址控制访问

有时需要根据 IP 地址控制访问,以限制或引导某些访问请求。比如允许局域网段中的访客正常访问,但禁止外网访问。简单介绍用 PHP 脚本实现此功能的方法。 假设有 IP 地址范围 192.168.0.0~192.168.0.255,只允许此 IP 段访问的代码如下:

Posted in PHP | Leave a comment

Godaddy美国主机推荐

Godaddy是世界第一大域名注册商,进军主机领域以后发展迅速,据多家监测机构显示,放置在Godaddy上的网站数量已经越居第一位。Godaddy同时提供linux主机,Windows主机,VPS以及独立主机全线主机产品,各种需求的客户在这里都可以找到适合自己的产品。 Godaddy同时提供独立IP,SSL证书,帮助客户快速打造自己的电子商务网站。 网站地址: Godaddy.com Godaddy主机优点: 价格便宜,windows基本是同行业中最低的,其他空间商的windows主机的月费基本都在9.95美元左右。购买一年Economy Plan可以使用优惠码cjchost20优惠20%,只需要38.26美元;购买一年Deluxe Plan可以使用优惠码cjcshare20优惠20%,只需要62.90美元(性价比最高的一款) 管理灵活。在Godaddy的控制面板就可以自助实现购买添加独立IP,更换主域名,增加支持JSP(linux),更换操作系统,购买添加SSL证书等多种操作。在其他主机商,这些基本都需要联系主机商完成,很繁琐。 可以自由更换操作系统。无论是购买的是那种操作系统,都可以在windows与linux之间自由更换,方便快捷 30天退款保证。30天内无条件退款,比国内某些空间商提供的免费试用7天要实在的多。 速度快。Godaddy主机在国内的的大部分地区的速度都很好,在美国等国家的速度一流,非常适合外贸网站的使用。 快速搭建电子商务平台。Godaddy主机可以方便快捷的添加独立IP,SSL证书,满足电子商务的需要。 Godaddy主机方案概况:

Posted in PHP | Tagged , | Leave a comment

IE下网页显示正常,而源代码乱码

      今天看到俺的某个网站,IE下网页显示正常,而源代码却是乱码,头一次遇到这种奇怪的问题:页面内已经指定编码为utf-8,文件本身也为utf-8,页面里直接写有中文。而问题就产生了:IE下网页显示正常,而源代码却是乱码!    经过google和baidu之后,发现关于这个问题的文章太多了,众说纷纭!大部分说把所有文件都转换为utf-8即可,也有说转换为不带BOM的utf-8格式。    解决:            最后用UE把所有文件都转换为不带BOM的UTF-8格式后,问题就解决了    总结:    在Zend Studio、DW几经尝试,都不行,因为这2个在转换为UTF-8时,都没有显示不带BOM的选项,所有总结出在Zend Studio、DW中默认的UTF-8格式都是带BOM的,UE中有是否带BOM的选项。大家使用UE时请注意!

Posted in PHP | Tagged | Leave a comment

PHP调试工具的使用Xdebug(2010.5.27更新)

很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数)。 那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢?这个问题的答案不妨留到后面来揭晓。 什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。 Xdebug现在的最新版本是xdebug 2.0.2:“Source、Debug client 0.9.0 (DBGp)(binary) for Linux、Debug client 0.9.0 (DBGp)(binary) for Windows、Windows modules for PHP 4.4.1-4.4.7、Windows modules for PHP 5.1.2-5.1.7、Windows modules for PHP 5.2.1-5.2.7” 官方站点:www.xdebug.org 如何安装Xdebug?  //2010.5.27添加-begin 必须选择和你的PHP版本接近的Xdebug 版本,php.ini里的display_errors必须开启 ZendStudio7上开启Xdebug 前提,已经安装好xdebug。 打开Zend Studio 7安装目录\plugins\com.zend.php_7.0.0.v20090712-1841目录,目录下有一个plugin_customization.ini文件,打开文件找到 org.eclipse.ui.workbench/UIActivities.com.zend.php.debug.ui.XDebugActivity=false 这行,改成true,保存后,重新启动Zend … Continue reading

Posted in PHP | Tagged , | 1 Comment

PHP网站注入方法之深度分析

我们主要是从两点出发,因为我们的获取的变量一般都是通过GET或者POST方式提交过来的,那么我们只要对GET和POST过来的变量进行过滤,那么就能够达到防止注入的效果。而且我们的PHP真是非常好,已经内置了$_GET和$_POST两个数组来存储所有变量,我们要做的工作就是过滤每个变量就可以了。下面看具体的代码: /* Author: heiyeluren *//* 过滤所有GET过来变量 */foreach ($_GET as $get_key=>$get_var){ if (is_numeric($get_var)) if (is_numeric($get_var)) { $get[strtolower($get_key)] = get_int($get_var); } else { $get[strtolower($get_key)] = get_str($get_var); }} /* 过滤所有POST过来的变量 */foreach ($_POST as $post_key=>$post_var){ if (is_numeric($post_var)) { $post[strtolower($post_key)] = get_int($post_var); } else { … Continue reading

Posted in PHP | Tagged | Leave a comment

php如何跨站抓取别的站点的页面

$ch = curl_init (“http://dailynews.sina.com.cn”); $fp = fopen (“php_homepage.txt”, “w”); curl_setopt ($ch, CURLOPT_FILE, $fp); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); curl_close ($ch); fclose ($fp); 有时会出现一些错误但实际上已经下载完了!实在不行,就在函数前面加个◎;这样我们只要对$txt进行适当的分析后,我们就可以偷偷的抓取sina的新闻!不过,还是不用的为好!以免发生法律纠纷!  

Posted in PHP | Leave a comment

PHP优化建议

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用__get,__set,__autoload。 7.require_once()代价昂贵。

Posted in PHP | Leave a comment

PHP各种应用的乱码问题

1) 使用 标签设置页面编码   这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx 可以为 GB2312、GBK、UTF-8(和 MySQL 不同,MySQL 是 UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管 xxx 是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。   请注意, 是属于 HTML 信息的,仅仅是一个声明,仅表明服务器已经把 HTML 信息传到了浏览器。   2) header(“content-type:text/html; charset=xxx”);

Posted in PHP | Leave a comment

php访问access的方法

php访问mysql的方法,地球人都知道,不过访问access就麻烦点,今天我们一起也来学习下吧,因为在实际应用中也会要用到。在虚拟目录下访问需要转化下数据库文件所在的路径。这里采用ADODB库作为测试。代码如下: ?php include(adodb/tohtml.inc.php);//loadcodecommontoADODB include(adodb/adodb.inc.php);//loadcodecommo php访问mysql的方法,地球人都知道,不过访问access就麻烦点,今天我们一起也来学习下吧,因为在实际应用中也会要用到。在虚拟目录下访问需要转化下数据库文件所在的路径。这里采用ADODB库作为测试。代码如下:

Posted in PHP | Leave a comment

使用PHP调用TinyURL API的方法

使用PHP调用TinyURL API的方法 TinyURL是一个缩短网址的Web 服务 ,可以把很长的网址变成简单的地址,通常创建TinyURL的方法是去其主页创建,有时候会有用户在客户端自动生成TinyURL的情况,这里介绍一个通过PHP调用TinyURL生成缩短地址的方法。 TinyURL API的PHP函数如下 以下为引用的内容: ?php function TinyURL($u){ r 使用PHP调用TinyURL API的方法 TinyURL是一个缩短网址的Web服务,可以把很长的网址变成简单的地址,通常创建TinyURL的方法是去其主页创建,有时候会有用户在客户端自动生成TinyURL的情况,这里介绍一个通过PHP调用TinyURL生成缩短地址的方法。

Posted in PHP | Leave a comment

Zend Studio For Eclipse 6.1注册码

注册码仅适用于Windows系统下的Zend Studio For Eclipse 6.1,其他系统未测试!

Posted in PHP | Leave a comment

php学习教程

第1期:新手搭建环境篇 第2期:网站基础建设篇HTML 第3期:CSS基础技术讲解篇 第4期:JavaSpcrip技术讲解 第5期:PHP开发环境Zend专题 第6期:PHP新手入门专题 第7期:PHP和MySQL基础教程 第8期:MYSQL技巧与应用篇 第9期:MYSQL技巧与应用篇 第10期:PHP留言本实例讲解 第11期:PHP5 Web开发详解基础篇 第12期:PHP5 Web开发详解应用篇 第13期:PHP+Ajax Web开发基础篇 第14期:PHP+Ajax Web开发应用篇 第15期:正则表达式的技术应用 第16期:PHP+XML基础 第17期:PHP+XML的技术应用 第18期:PHP邮件技术专题 第19期:PEAR基础篇 http://www.phpchina.com/study/20/phpstudy.html

Posted in PHP | Leave a comment

php完美结合mysql数据库记录分页显示

在php网络数据库编程时,不可避免的要考虑到数据库记录结果的显示问题,为了呈现美观页面并加快页面的载入速度,就需要对数据库记录进行分页显示。 现把与php完美结合的mysql数据库记录的分页显示实例拿出来与大家共享。 mysql数据库为xinxiku,数据表为joke。其定义sql语句如下: create table joke ( id int(5) not null auto_increment, biaoti varchar(40) not null, neirong text not null, primary key (id) ); 字段说明:

Posted in PHP | Leave a comment