代码改变世界

随笔档案-2011年05月

PHP5中使用DOM来操控XML

2011-05-30 14:56 by 卫佳, 209 阅读, 收藏,
摘要: //首先要创建一个DOMDocument对象discount nike air shoes$dom = new DomDocument();//然后载入XML文件$dom -> load("test.xml");//输出XML文件//header("Content-type: text/xml;charset=gb2312");//echo $dom -> saveXML();//保存XML文件,返回值为int(文件大小,以字节为单位)//$dom -> save("newfile.xml");echo " 阅读全文

成为PHP高手的简单要点

2011-05-30 14:55 by 卫佳, 173 阅读, 收藏,
摘要: 在PHP的开发过程中永远会有更多的内容需要去学习,如新的核心函数,新的框架,新的设计模式,新的编码或文档规范等等。下面就是一些成为更优秀的PHP开发者的最佳途径。1.阅读手册(jewelry display)没 什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西。特别是有关字符串和数组有关的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。2.阅读程序源代码有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一份开源的PHP 阅读全文

采集程序php

2011-05-30 14:55 by 卫佳, 143 阅读, 收藏,
摘要: <?php // 采集程序phpset_time_limit(0);//cookie保存目录 $cookie_jar = '/tmp/cookie.tmp';/*函数------------------------------------------------------------------------------------------------------------*///模拟请求数据Fashion jewelryfunction request($url,$postfields,$cookie_jar,$referer){ $ch = curl_init( 阅读全文

PHP 获得IP的一些简单方法

2011-05-30 14:55 by 卫佳, 217 阅读, 收藏,
摘要: $iipp=$_SERVER["REMOTE_ADDR"];echo $iipp;?>///////////////////////////////////////////////$user_IP = ($_SERVER["HTTP_VIA"])? $_SERVER["HTTP_X_FORWARDED_FOR"] :$_SERVER["REMOTE_ADDR"];$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]; echo 阅读全文

PHP采集程序原理分析

2011-05-28 14:06 by 卫佳, 404 阅读, 收藏,
摘要: 由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。苦想了几天,终于弄明白了里面的道理。在这里写出来,请高手指正。采集程序的思路很简单,无非就是先打一个页面,一般都是列表页,取得里面全部链接的地址,然后打开逐条链接,寻找我们感兴趣的东西,如果找到,就把它入库或别的处理。下面以一个很简单的例子来说说。首先确定一个采集页,一般就是列表面了。这里目标是:http://www.php100.com/article/11/index.htm。这 是一个列表页,我们的目的就是采集这个列表页上全部的文章。有列表页了,第一步先打开 阅读全文

Google翻译PHP接口

2011-05-28 14:06 by 卫佳, 661 阅读, 收藏,
摘要: * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数*/class Google_API_translator {public $url =“http://translate.google.com/translate_t”;public $text = “”;//翻译文本public $out = “”; //翻译输出function setText($text){$this->text = $text;}function translate() {$this->out = “”;$gphtml = $this->postPage($th 阅读全文

PHP单引号和双引号的区别

2011-05-28 14:06 by 卫佳, 198 阅读, 收藏,
摘要: 单引号内部的变量不会执行 双引号会执行如$name ='hello';echo "the $name";// cufflinks wholesale 会输出 thehello 而如果是单引号 $name ='hello'; echo 'the$name'; 会输出 the$name 主要区别就是这个。 阅读全文

应用ThinkPHP内置的分表算法处理百万级用户数据.

2011-05-28 14:05 by 卫佳, 854 阅读, 收藏,
摘要: 数据表: house_member_0 house_member_1 house_member_2 house_member_3 模型中//wedding jewelry wholesale classMemberModel extends AdvModel { protected$partition = array('field'=>'username','type'=>'id','num'=>'4'); publicfunction getDao($data=array()) 阅读全文

有效防御PHP木马攻击的技巧

2011-05-26 14:33 by 卫佳, 309 阅读, 收藏,
摘要: 1、防止跳出web目录 首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: php_admin_valueopen_basedir /usr/local/apache/T-Shirts /htdocs 这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误: Warning:open_basedir restriction i 阅读全文

发挥ThinkPHP的极致性能。大型项目代码部署

2011-05-26 14:32 by 卫佳, 554 阅读, 收藏,
摘要: 最近在做个房产类型的网站。类似安居客。。近千万的数据量。现在有点心得,贴出来share一下。1.认真看过手册的都知道Tp有个常量叫RUNTIME_ALLINONE,开启后所有的预加载文件都会集中整合到~allinone.php中而不是在分为~app.php和~runtime.php,打开show_page_trace后可以进行对比run_time前后相比相差0.8xxs!!2.html_cache_on、html_cache_time..这个在手册中也有提到。但是在真正的项目部署上很少看到有人去注意Tp对服务器资源的占用。Fashion jewelry以上几项如果没有开启,那么你可以先执行一次 阅读全文

tp整合支付宝简单代码

2011-05-26 14:32 by 卫佳, 407 阅读, 收藏,
摘要: 配置文件/** 支付宝配置文件*/'partner' => "", //合作身份者ID'security_code' =>"", //安全检验码'seller_email' =>"@sina.com.cn", //签约支付宝账号或卖家支付宝帐户'_input_charset'=> "utf-8", //字符编码格式目前支持 GBK 或 utf-8'transport' =>"http", 阅读全文

Apache结合Thinkphp实现伪静态的设置方法

2011-05-24 15:04 by 卫佳, 3047 阅读, 收藏,
摘要: 1、要隐藏Thinkphp项目中index.php文件名,需在config.php中设置'URL_MODEL'=>2,并且需要在.htaccess 中隐藏index.php,前者依赖于后者,否则可能导致Thinkphp项目中模块无法正常访问。2、设置了'URL_MODEL'=>2,并且在.htaccess也隐藏了index.php,普通的查看记录的URL就变为了这种形式:http://localohost/News/view/id/45.html复制代码但这并不能满足我们的URL优化效果,因为更好的SEO优化地址可能是这种形式:http://loca 阅读全文

HTML5带来的技术变革

2011-05-24 15:04 by 卫佳, 407 阅读, 收藏,
摘要: 见过我的同学都知道,我关注这个领域(Ajax -> Erlang)有日子了,一直都在各种场合大肆吹嘘 Erlang 和 Ajax 是“天生的一对”。因此,大概也可以冒充半块砖(家)吧,老实说,对于 WebSocket 我也很兴奋,但对于它的前景我却不象 Joe 老头一样乐观。从技术角度,不难预见Html5 WebSocket 的普及将会带来 Web 应用领域的另外一场巨变。为了适应这一“气候变化”,现有的“技术物种”(框架怪兽和模式恐 龙)必将再次剧烈进化,灭绝掉其中的几种也大有可能(其中之一就是现在的 OSenamel jewelry 将会被“边缘化”)。然后,当当当,新的 Web 和 阅读全文

ThinkPhp中M和D的区别

2011-05-24 15:03 by 卫佳, 363 阅读, 收藏,
摘要: ThinkPHP 2010-11-24 10:58:04 阅读288 评论0字号:大中小订阅 两个有共同点..都是实例化对象用的..但是 在使用时两者却不一样...为什么??先看看代码函数Mview plaincopy to clipboardprint?function M($name = '', $class = 'Model') { static $_model = array(); if (!isset($_model[$name . '_' . $class])) // 默认也就是 new Model($name) $_model[$n 阅读全文

小技巧,设定$this-error() $this-sucsess 跳转时间

2011-05-24 15:03 by 卫佳, 532 阅读, 收藏,
摘要: 默认跳转时间为3秒,有时候提示文字长点还没看清就跳走了,很烦人,看了下view model wedding jewelry sets才知道怎么定义 $Tpl['waitSecond']=30; //跳转时间(秒) $Tpl['jumpUrl']=__APP__.'/Index'; //跳转url地址 $this->assign($Tpl); //批量赋值 $this->success("登录成功");活着在Action中直接$this->assign("waitSecond",3); 阅读全文

关于TP的路径

2011-05-21 14:19 by 卫佳, 328 阅读, 收藏,
摘要: TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等,如果你对这些路径不是很明白,用起来说不定就会有这样或那样的问题,抑或出了错也不知道怎么改,现在我们看一下这些路径到底是代表了什么吧!假如你项目首页的URL是:www.test.com/other/Form假如当前模块是:Index假如当前操作是:index那么首页完整的URL:http://www.test.com/other/Form/index.php/Index/index__ROOT__:/other/thinkphp/mydemo__SELF__:/other/thinkphp/mydemo/Fo 阅读全文

程序员需要的技能SKILL

2011-05-21 14:19 by 卫佳, 288 阅读, 收藏,
摘要: 软件开发是一个跨度很大的技术工作,在语言方面,有C、C++、Java、Ruby等等等等;在环境方面,又分嵌入式、桌面系统、企业级、WEB、基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员。下面这些基本职业技术可以用来做为对一个程序员的评估,很明显,下面的这些技能都可以用来做面试。虽然,还有很 阅读全文

TP的U方法

2011-05-21 14:19 by 卫佳, 474 阅读, 收藏,
摘要: U方法可以用于方便的生成URL地址,并且可以智能识别项目的URL配置。 使用格式: U('项目名://路由名@组名-模块名/操作名?参数1=值1&参数2=值2') 或者 U('项目名://路由名@组名-模块名/操作名',array('参数1'=>'值1','参数2'=>'值2')) 其中项目名 路由名 组名 和模块名都是可选参数 例如:U('App://Admin-User/add?pid=1')wedding jewelry sets 表示生成项目名称为App 阅读全文

PHP中文乱码解决

2011-05-21 14:19 by 卫佳, 160 阅读, 收藏,
摘要: 首先需要启用PHP的php_mbstring扩展,直接修改php.ini文件,找到:“;extension=php_mbstring.dlldiscount nike air shoes ”,取消前面的“; ”号即可。不讲废话,上代码看效果:<?phpecho "str:",$str = '你好,我是孤魂,欢迎光临我的博客';echo "";echo "mb_substr:" . mb_substr($str, 0, 7, 'gb2312');//结果:你好,我是孤魂echo "&quo 阅读全文

TP SEO

2011-05-19 15:46 by 卫佳, 308 阅读, 收藏,
摘要: 我们来通过一个简单的例子,分别用URL路由、空操作和空模块三个角度来实现,由此来看ThinkPHP对SEO和URL友好的支持到底有多方便。 因为URL_REWRITE比较特殊,需要服务器支持,所以下面的例子不涉及URL_REWRITE,所以比较具有通用性。 例子说明如下: 如果我们有一个City模块,而我们希望能够通过类似下面这样的URL地址来访问具体某个城市的操作: http://<serverName>/index.php/City/shanghai/一、使用URL路由功能实现 由于shanghai这个操作方法是不存在的,我们给相关的城市操作定义了一个city方法,如下:Cla 阅读全文

对TP2.0示例Rabc的理解和使用建议

2011-05-19 15:45 by 卫佳, 386 阅读, 收藏,
摘要: 最近要带学生开发一个小项目,为了方便开发,就上网找了一些开发框架,发现TP是国产的,开发文档容易理解(中文),评价也不错,就尝试用它来开发,这时已经是2.0了,没用过以前的版本. 项目一开始就做个用户验证和权限管理的模块,于是参考示例的Rabc源码,因为第一次用TP,很多看不懂,开发手册只字没提,只是说把Rabcmurano pendants的分离出核心,其它分析就没了,版块的VIP区又进不去,只有上网找了很相关的资料,也很非常少,经过几天努力和分析代码,有如下理解:(1)TP2.0把Rabc的功能分离出核心,但相关功能(不知道是不是全部功能,之前版本没用过)封装在示例的commonActio 阅读全文

TP整合FCK

2011-05-19 15:45 by 卫佳, 195 阅读, 收藏,
摘要: 首先现在最新版本的FCK包,解压到TP的第三方类库文件夹:Vendor 下开始配置FCK:一、找到FCK根目录下的fckeditor_php5.php,大约在130行的__construct中,修改FCK路径信息:$this->BasePath= './ThinkPHP/Vendor/FCKeditor/' ;二、设置编辑器图片上传目录,找到FCK:FCKeditor\editor\filemanager\connectors\php,大约在34行设置:$Config['UserFilesPath'] = 'thinkphp/uploadfiles 阅读全文

AjaxPage

2011-05-19 15:45 by 卫佳, 467 阅读, 收藏,
摘要: 最近刚刚学习THINKPHP,在实践中需要异步更新表格数据,类ORG.Util.AjaxPage提供GET刷新方式。也看到有朋友提出了AJAX实现的PAGE类,不过看代码貌似只是实现了第一次显示,分页显示的连接好像没有改变。我基于PAGE类,修改实现了其AJAX版本,基本达到我预期目标。请各位专家不吝赐教。改进思想========1. 读取POST参数2. 改进URL为JAVASCRIPT方式的AJA[attach]1469[/attach]X函数使用方法========1. 控制类(Controller) public function phpAjaxMethod() { $Form = D 阅读全文

Paypal高级API付款代码范例

2011-05-18 15:20 by 卫佳, 925 阅读, 收藏,
摘要: 不仅仅Paypal,支付宝、财付通都一样一样的。<?phpclass PaypalAPI { private$api_authentication_mode = '';// 3TOKEN UNIPAY private $api_account = ''; private $api_password = ''; private $api_signature = ''; private $api_subject = ''; private $paypalPaymentUrl ='https://www.p 阅读全文

RBAC分析、应用、优化

2011-05-18 15:20 by 卫佳, 333 阅读, 收藏,
摘要: RBAC对于ThinkPHP初学者来说总感觉太复杂,但是权限认证与管理是非常重要且常用的功能,所以我这里算是以学习笔记的形式与大家共同学习。 如题所示,这个帖子主要分为三个部分:分析、应用、优化。分析部分主要了解下RBAC到底是什么,并分析数据库结构,做好应用准备;应用部分以示例项目来看RBAC是如何工作的,对RBAC有个全面的了解;优化部分主要是讲在我们的项目部署时怎么简化RBAC用于实际建站。分析与应用部分我们均以传统方式来部署,优化部分大家可以提出自己的优化方法。 一、分析 RBAC:基于角色的访问控制(Role-Based Access Control),参见百度百科。 用户,角色,节 阅读全文

PHP伪静态隐藏传递的参数名

2011-05-18 15:19 by 卫佳, 389 阅读, 收藏,
摘要: PHP伪静态的使用主要是为了隐藏传递的参数名,今天介绍的PHP伪静态的方法总共有四种方法以加深对PHP伪静态的了解。伪静态方法一:<?php //伪静态方法一 // localhost/php100/test.php?id|1@action|2 $Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; echo $Php2Html_FileUrl."<br>"; // /php100/test.php?id|1@action|2 $Php2Html_UrlString = str_replace(&quo 阅读全文

PHP实现上传文件生成小图加文字的实例

2011-05-18 15:19 by 卫佳, 231 阅读, 收藏,
摘要: <?//自动缩图$srcFile原文件,大图;$photo_small目标文件,小图;$dstW,$dstH是小图的宽,高。function makethumb($srcFile,$photo_small,$dstW,$dstH) {$data = GetImageSize($srcFile);switch ($data[2]) {case 1: //图片类型,1是GIF图 $im = @ImageCreateFromGIF($srcFile); break;case 2: //图片类型,2是JPG图 $im = @imagecreatefromjpeg($srcFile); break 阅读全文

TP的create()

2011-05-17 15:08 by 卫佳, 464 阅读, 收藏,
摘要: 最近发现,论坛好多朋友都提到这个问题,就是自动完成、自动验证无效。 很不幸昨天我也遇到了相同的问题,死活不生效,测试了半小时无果,因为这个过程发生在create()方法中,所以跟踪了create(), 发现了一个很大的秘密,原来create()方法原来有两个参数, 第一个参数是大家都知道了数据参数,第二个是隐藏的$type参数,这个参数用来控制什么的呢??// 状态$type = $type?$type!empty($data[$this->getPk()])?self::MODEL_UPDATE:self::MODEL_INSERT);discount nike air shoes仔细 阅读全文

Thinkajax

2011-05-17 15:07 by 卫佳, 214 阅读, 收藏,
摘要: PHP代码$this->ajaxReturn('1','2',0);//说一下ajaxReturn的3个参数第一个是返回的数据变量,第二个是返回的信息,第三个是数据返回的状态。例如我们判断一个用户登录 if ($username=='' || $userpass==''){ $this->ajaxReturn('','用户名或密码不能为空!',0); } if ($verify!=$_SESSION['verify']){ $this->ajaxReturn( 阅读全文

Tp forward和redirect的区别

2011-05-17 15:07 by 卫佳, 835 阅读, 收藏,
摘要: 呃,话说,好久没有写thinkphp的东西了,因为最近不忙的时候就很懒,不懒的时候就很忙,之前看的教程也不记得多少了。忽然间感觉只看教程貌似是不能解决啥问题的,还是得就着API来看源码,否则永远都是知其然而不知其所以然。刚正在看Action.class.php,里面有两个函数都是执行跳转用的,一个是forward 一个是redirect。那么二者到底有何区别呢?看了一下API,看了一下源码又翻了一下论坛,整理如下。有不同意见的欢迎拍砖。 首先看代码注释,二者的描述是不相同的。forward:执行某个Action操作(隐含跳转) 支持指定模块和延时执行redirect:Action跳转(URL重 阅读全文

TP的URL设计和SEO支持

2011-05-17 15:07 by 卫佳, 281 阅读, 收藏,
摘要: 去掉URL里面的index.php 是为了SEO的需要,需要服务器开启URL_REWRITE模块。下面的配置过程可以参考下:²httpd.conf配置文件中加载了mod_rewrite.so模块²AllowOverride None 将None改为 All²确保URL_MODEL设置为2replica handbags²把.htaccess文件放到入口文件的同级目录下<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{ 阅读全文

TP 多文件上传

2011-05-16 12:58 by 卫佳, 462 阅读, 收藏,
摘要: [php]html页面 <scriptlanguage="javascript"type="text/javascript"> functionaddFileHtml() { varform=document.getElementById("form"); varcount=0; for(vari=0;i<form.elements.length;i++) { varname=form.elements[i].name; if(name.indexOf("image")>-1)count++ 阅读全文

Smarty 等模板

2011-05-16 12:57 by 卫佳, 241 阅读, 收藏,
摘要: SmartySmarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。 Heyes Template Class 一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。 FastTemplate 一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。 ShellPage 一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。 STP Simple Template Parser 一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。 OO 阅读全文

XAJAX实现无刷新上传(三)

2011-05-11 12:48 by 卫佳, 164 阅读, 收藏,
摘要: EOT; $objResponse->addAssign("h","style.display",''); $objResponse->addAssign("h","innerHTML",$innerHTML); }else{ hair extension$objResponse->addAlert("Language is not installed"); } } return $objResponse; } function UpdateLanguage($ 阅读全文

XAJAX实现无刷新上传(二)

2011-05-11 12:48 by 卫佳, 132 阅读, 收藏,
摘要: EOT; $objResponse->addAppend("language","innerHTML",$innerHTML);} } //清空表单 $objResponse->addClear('name','value'); $objResponse->addClear('filename','value'); $objResponse->addClear('charset','value'); $objResponse->a 阅读全文

XAJAX实现无刷新上传(一)

2011-05-11 12:48 by 卫佳, 222 阅读, 收藏,
摘要: 主要的xajax结合php上传文件和保存数据的函数集中存放在 ./admin/includes/function.xajax.php 里面 在language.php文件载入并初始化xajax上传扩展 require_once(ROOT_PATH . '/includes/xajax/xajax.inc.php'); require_once(ROOT_PATH . '/admin/includes/function.xajax.php'); require_once(ROOT_PATH . '/includes/xajax/xajaxExtend.ph 阅读全文

TP的CRUD

2011-05-11 12:48 by 卫佳, 356 阅读, 收藏,
摘要: ThinkPHP 提供了灵活和方便的数据操作方法,不仅实现了对数据库操作的四大基本操作(CURD):创建、读取、更新和删除的实现,还内置了很多实用的数据操作方法,提供了 ActiveRecords 模式的最佳体验。 Model 类将数据库操作统一为CURD 和一个 SQL 查询方法,也就是_create 新增 (写入)数据 _update 更新 (保存)数据_read 读取(查询)数据_delete 删除数据 _query SQL 查询 其它的所有方法基本上对你调用这些基础方法进行操作,但是我们无需关注这些细节,只需要按照提供的抽象方法来操作,我们来看看在 ThinkPHP 中是怎么进行数据操 阅读全文

浅谈索引

2011-05-10 14:28 by 卫佳, 240 阅读, 收藏,
摘要: 一、索引的概念索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引的特点1.索引可以加快数据库的检索速度2.索引降低了数据库插入、修改、删除等维护任务的速度3.索引创建在表上,不能创建在视图上4.索引既可以直接创建,也可以间接创建5.可以在优化隐藏中,使用索引6.使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索引7.其他replica handbags三、索引的优点1.创建唯一性索引,保证数据库表中每一行数据的唯一性2.大大 阅读全文

Js+php实现随机换图片

2011-05-10 14:27 by 卫佳, 262 阅读, 收藏,
摘要: 想必你会用javascript随机显示图片。但如果图片的资料(比如链接)是经常变化,或是由用户修改、增加的,怎么办?我这里有个办法。把图片的资料(如名称、地址、链接等)放在一个TXT文件里(如有MYSQL更好,没有也罢)。HTML文件中由javascript调用PHP程序, PHP程序随机读取图片资料。readrand.php(此程序实际上是生成一句javascript语言)<?$arrayall=file("tp.txt");读出tp.txt内容到数组$arrays=count($arrayall);if ($arrays==1){//because rand(0, 阅读全文

如何实现防止图片盗链

2011-05-10 14:27 by 卫佳, 412 阅读, 收藏,
摘要: 1、假设充许连结图片的主机域名为:2、修改httpd.conf以下为引用的内容: SetEnvIfNoCase Referer "^/" local_ref=1 <FilesMatch ".(gif|jpg)"> Order Allow,Deny Allow from env=local_ref </FilesMatch>这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。使用以上的方法当从非指定的主机连结图片时,图片将无法显示,如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 阅读全文

PHP穿件RSS阅读器

2011-05-10 14:27 by 卫佳, 268 阅读, 收藏,
摘要: Jacques Noah在Devshed上发表了一篇关于在PHP4与任意版本的Mysql搭建的平台下创建一个基于PHP的RSS阅读器的文章,RSS文档中有三个主要的标签:Title,link和description,分别包含着像它们名称提示一样的信息。Jacques列举了来自一个RSS文档的两段代码,包含开始部分和结尾部分,并说明创建PHP的RSS阅读器之前所需要的几个步骤。首先是提取标签所描述的内容。典型的RSS文档会是如下的结构:以下为引用的内容: <RSS> <channel> <item> /*cheap louis vuitton handbags 阅读全文

无刷新数据删除--jquery

2011-05-09 16:54 by 卫佳, 321 阅读, 收藏,
摘要: <script type="text/javascript" src="lib/jquery.js"></script>给table加个id="t<!--{$item.id}-->"写个js:<script> function delItem (id) { $.get('delete.php?id='+id,null,function (msg) {//ajax请求,请求后执行下面代码 if ('1'==msg) {//返回1表示成功cheap LV ha 阅读全文

简谈存储过程

2011-05-09 16:54 by 卫佳, 150 阅读, 收藏,
摘要: 什么是存储过程呢?定义: 将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊?Microsoft公司为什么还要添加这个技术呢?那么存储过程与一般的SQL语句有什么区别呢?存储过程的优点:1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Que 阅读全文

用JS判断浏览器的版本

2011-05-09 16:54 by 卫佳, 213 阅读, 收藏,
摘要: IE浏览器不管是什么版本,总是跟Web标准有些不太兼容。对于代码工作者来说,自然是苦不堪言,为了考虑IE的兼容问题,不管是写 CSS 还是JS,往往都要对 IE 特别对待,这就少不了做些判断。本文不讨论如何区分 IE 的样式,仅是 JS 判定 IE 浏览器。这个目前世界上最短的 Javascript 判定 IE 浏览器的方法来自俄罗斯!它已经在各版本的 IE 以及目前其他流行的浏览器上经过测试,基于 IE 的 Bug,微软虽然已经意识到,但是从来没有纠正过。<script type='text/javascript'> var ie = !-[1,]; alert( 阅读全文

DIV+CSS的六点

2011-05-09 16:53 by 卫佳, 322 阅读, 收藏,
摘要: 初学DIV+CSS?有六个问题需要您关注一下!作为DIV+CSS初学者,如果在动手写代码之前对网页整体结构由一个清晰认识的话,写起来会事半功倍!但是,写的过程中总是有这样那样的问题,使得我们不得不停下来去查找资料,弄清属性定义等等! 其实有很多方法可以在提高我效率的同时让我们对DIC+CSS有更深刻的理解!下面我们列举几点:一、CSS命名规范: 1、文件命名规范 全局样式:global.css; 框架布局:layout.css; 字体样式:font.css; 链接样式:link.css; 打印样式:print.css; 2、常用类/ID命名规范 页 眉:header 内 容:content 容 阅读全文

TP的RBAC(一)

2011-05-07 15:41 by 卫佳, 395 阅读, 收藏,
摘要: 提到ThinkPHP,许多人都会为它的高效,方便所折服。但与很多学员交流后,发现大家普遍对其的RBAC权限控制感到头疼不已。那么今天就给大家带来关于这方面的教程,相信大家再看完这篇文章后,一定会对RBAC有一个清晰的了解。并且以后关于这个框架的权限控制也会信手拈来,轻松驾驭。RBAC许多人听到后会觉得很头疼,不知道这是什么东西。用英文来讲的话就是Role-Based Access Control,用中文来说就是——基于角色的权限访问控制。呵呵,是不是听的头晕了?没那么复杂。你只需要了解一点,它是来控制用户组权限的就得了,有的用户组用户可以被添加,但是有的用户组用户却不可以,就是这样一个简单的东 阅读全文

ThinkPHP的RBAC(二)

2011-05-07 15:41 by 卫佳, 281 阅读, 收藏,
摘要: 看着是不是又晕了?呵呵,没关系,我们来用一个简单的图表和简易图来像大家说明:表Think_access:Role_IDNode_idpidlevel用户组的编号节点表节点表中的父ID项节点表中的等级项注:如果用户组id和对应的节点id存在这张表中,就表示用户所在的用户组有权限进行对应的操作权限。表Think_nodeidnametitlepidlevel节点编号,用来产生关联关系,主键,自增方便索引项目,模块或者动作的名字(严格区分大小写)项目或模块的备注,方便管理员认识和了解注①只能为1,2,3分别代表项目,模块,操作动作注①:1)如果是项目名称则项目是顶级的,它上面没有父路径编号(pid) 阅读全文

Suhosin加强安全性

2011-05-07 15:40 by 卫佳, 239 阅读, 收藏,
摘要: PHP是一种非常流行的网站脚本语言,但是它本身所固有的安全性是非常薄弱。本文讲述了PHP增强计划(Hardened-PHPproject)和新的Suhosi计划,Suhosin提供了增强的PHP的安全配置。PHP是带有争论地但又是最流行的一种网站脚本语言。它之所以流行,是因为它低廉的价格,然而,这低廉的价格导致用PHP写的网站应用程序越来越多 的同时也越来越多的展现出PHP本身在安全上的脆弱,这种安全特性显示出PHP是极不可靠,不过同时对这个脚本语言本身而言它又是非常灵活的,使用它就能 很容易的实现代码,不过这些代码都是臃肿的且不安全的,虽然是这样它还是一直都拥有很多的使用者。你可以根据实际情 阅读全文

URL过长的解决办法

2011-05-07 15:40 by 卫佳, 1027 阅读, 收藏,
摘要: 最近正在帮朋友开发一个全新的网站,设计初衷是简洁、易于访问。结果,由于不是十分上心,对部分设计并不是很满意。比如,网站导航、评论和社区部分仍有待完善。但是,在开发过程中总结出一些PHP应用技巧,愿与大家分享。首先,第一个例子充分说明了简单的REST API和SimpleXML的结合有着绝对实用的功效。长期以来,我一直习惯于使用FeedBurne,因为它可以清楚地查看到注册用户的数量。作为此次网站设计的一部分,我希望在不使用镜像的前提下就能够获取该数字。输入FeedBurner Awareness API,通过两行的PHP命令,我们可以得到下列结果:以下为引用的内容: <?php $inf 阅读全文

Tp+json

2011-05-06 15:36 by 卫佳, 249 阅读, 收藏,
摘要: Js代码 functionajax(id,pic){//由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义。varURL='__URL__';$.ajax({url:URL+'/returnAjax/id/'+id,//提交访问的URLtype:'GET',//提交的方法dataType:'text',//返回的内容的类型,由于PHP文件是直接echo的,那么这里就是texttimeout:1000,//超时时间error:function(){//如果出错,执行函数alert(' 阅读全文

ob_start()的妙用(一)

2011-05-06 15:36 by 卫佳, 186 阅读, 收藏,
摘要: Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo()和 PHP 代码的数据块有作用。我们先举一个简单的例子,让大家对Output Control有一个大致的印象:Example 1.-------------------------------------------------------------------------------------------------------- 阅读全文

ob_start()的妙用(二)

2011-05-06 15:36 by 卫佳, 323 阅读, 收藏,
摘要: 2. 关于ob系列函数:我想先引用我的好朋友y10k的一个例子:Example 3.-----------------------------------------------------------------------------------------------------------比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:--------------------------------------------- 阅读全文

ThinkPHP循环标签的使用

2011-05-06 15:35 by 卫佳, 335 阅读, 收藏,
摘要: 这篇文章的环境与《ThinkPHP框架试用》一文大致相同,区别在于我更改了入口文件,将项目文件单独放在一个文件夹下,方便管理!更改后的入口文件大致如下: <?phpdefine('THINK_PATH', 'ThinkPHP/');define('APP_NAME', 'myApp');define('APP_PATH', 'myapp');require(THINK_PATH."/ThinkPHP.php");$App = new App();$App->run() 阅读全文

PHP动态网页技术打造个人网站

2011-05-05 16:13 by 卫佳, 591 阅读, 收藏,
摘要: 这里和大家交流一下用动态网页技术PHP来架设个人网站的经验。不妥之处,敬请指正!一 编辑调试环境win98本地编辑调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了。如果你较懂HTML,推荐用EditPlus,相当好哦!否则只好用DreamWeaver先了。还要连数据库? 幸好MySQL还有For WIN32的版本。二 先来一个计数器自己的计数器总比外来的好,敝帚自珍嘛!时下介绍的计数器源代码总是那种刷新一下就长,不免有些自欺欺人,呵呵。不过我们还是先分析一下它的工作原理吧,下面是一个简单计数器的示例:以下为引用的内容: < 阅读全文

LAMP架构方案分析

2011-05-05 16:12 by 卫佳, 465 阅读, 收藏,
摘要: LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网 络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高 性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN 阅读全文

PHP生成带有雪花背景的网站验证码

2011-05-05 16:12 by 卫佳, 167 阅读, 收藏,
摘要: 以下为引用的内容: <?session_start();?> <FORM METHOD=POST ACTION=""> <input type=text name=number maxlength=4><img src="YanZhengMa.php?act=init"> <INPUT TYPE="submit" name="sub"> </FORM> <? //检验校验码 if(isset($HTTP_POST_VARS["s 阅读全文

动态网页技术和PHP数组

2011-05-05 16:12 by 卫佳, 205 阅读, 收藏,
摘要: PHP 4.0中新添加了30个与组数有关的函数,其中一些常见的函数可以判断一个数组中是否包含某个元素,对一个数组中的元素进行计数,添加或删除数组中的元素或者对数组中的元素进行排序。如果有一个很大的数组,而你需要找出其中是否包含一个特定的元素,就可以使用in_array()。下面的例子将显示“Not found in this array”,因为在一个名字为$namesArray的数组中查找Albert,而在$namesArray数组中不存在这样一个元素。以下为引用的内容: <? $namesArray = array("Joe", "Jane", 阅读全文

java中文编程

2011-05-04 16:50 by 卫佳, 300 阅读, 收藏,
摘要: Java的中文问题历史悠久,连绵不绝,至今也没有完全解决,但是上有政策下有对策,我们总是有办法搞定它的。跟Java相关的中文问题主要有两 类,一类是编程的问题,涉及到I/O,内码转换等。第二类是Java运行环境的配置,涉及字体,属性配置等。我刚刚用了一天的时间解决这些问题,觉得很有 必要给自己写个备忘录之类的。 我看还是从问题入手吧,这样不致于让大家打瞌睡。我想写个程序,这个程序有个基本功能就是显示文件内容,我用JTextArea来做显示的事情,程序简单的到家了,但是就是中文都是乱码。我的配置是JBuilder7,JBuilder自带的JDK1.3.3_b24,我自己装的JDK是 JDK1.4 阅读全文

JAVA AOP

2011-05-04 16:49 by 卫佳, 315 阅读, 收藏,
摘要: 为了简单起见,例子没有没有使用任何第三方的AOP Framework, 而是利用Java语言本身自带的动态代理功能来实现AOP. 让我们先回到AOP本身,AOP主要应用于日志记录,性能统计,安全控制,事务处理等方面。它的主要意图就要将日志记录,性能统计,安全控制等 等代码从商业逻辑代码中清楚的划分出来,我们可以把这些行为一个一个单独看作系统所要解决的问题,就是所谓的面向问题的编程(不知将AOP译作面向问题的 编程是否欠妥)。通过对这些行为的分离,我们希望可以将它们独立地配置到商业方法中,而要改变这些行为也不需要影响到商业方法代码。 假设系统由一系列的BusinessObject所完成业务逻辑功 阅读全文

java程序员必备的10项技能

2011-05-04 16:48 by 卫佳, 392 阅读, 收藏,
摘要: 1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。2、命令:必须熟悉JDK带的一些常用 命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你 对java实际上还很不了解。3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Wor 阅读全文

java IO接口

2011-05-04 16:47 by 卫佳, 563 阅读, 收藏,
摘要: 什么是IO ? IO(Input/Output)是计算机输出/输出的接口。Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等 等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。关于NIO我们在后面还有专门的讨论。 流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复 杂。 Java IO模型 Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功 阅读全文

PHP+AJAX实现文件异步上传(源代码)

2011-05-03 15:57 by 卫佳, 522 阅读, 收藏,
摘要: 一、设计搜索表单在网站的根目录下建个search.htm,内容如下以下为引用的内容: <html> <head> <title>搜索表单</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="form 阅读全文

PHP+AJAX实现文件异步上传(一)

2011-05-03 15:57 by 卫佳, 546 阅读, 收藏,
摘要: 异步的文件上传是在现代的AJAX实现的Web应用里面经常要遇到,必须解决的问题。但是标准的AJAX类(XmlHttpRequest)无法实现传输 文件的功能。因此,这里讨论的内容就是如何在AJAX的技术的基础之上构建异步的文件上传功能。在这个功能当中需要使用到内置的框及(IFRAME)来传 输文件。这个功能实现的效果是页面在上传文件的时候,用户还可以使用该页面并且填写文件描述。 这个例子是我们引用AJAX的经典案例进行分析的。 系统环境 · 较新版本的浏览器。例如Opera,Firefox或者 Internet Explorer。 · PHP 4.3.0 或更高版本  阅读全文

PHP+MYSQL实现分页

2011-05-03 15:56 by 卫佳, 435 阅读, 收藏,
摘要: 一、分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我 们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显 示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第1. 阅读全文

PHP实现站内搜索引擎

2011-05-03 15:56 by 卫佳, 1036 阅读, 收藏,
摘要: 一、设计搜索表单在网站的根目录下建个search.htm,内容如下以下为引用的内容: <html> <head> <title>搜索表单</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="form 阅读全文