编程技巧 - 文章列表

  • PHP脚本的8个技巧(8)PHP和XML

    PHP包含支持Expat 解析器的可选XML扩展。PHP中和XML相关的函数可以让你创建一个解析器来处理有效的XML文档。如果你在使用的Apache版本在1.3.7之后,那你就不需要其他附加的函数库了。而你所需要做的只是配置PHP–with-xml。   PHP手册中有好几个创建基于PHP的XML解析器优秀实例。此外,New Riders图书Web Application Development with PHP 4.0也对结合PHP的XML用法有详尽的阐述,该数的作者之一已经在Zend.com 上编写过这方面相当多的指南。   就象Java和COM支持一样,PHP对XML的支持还

  • PHP对GB编码动态转UTF-8编码的几种方法评测

    在《IP地址->地理位置转换的测评》一文中提到用ip2addr函数直接读取IP数据库文件是效率最高的,相比用MySQL数据库存储IP数据,用SQL查询是效率最低的。但是IP数据库文件QQWry.dat是GB2312编码的。现在我需要UTF-8编码的地理位置结果。如果用MySQL方法,可以在数据存入数据库时就转换为UTF-8编码,一劳永逸。但是QQWry.dat文件又无法修改,只能把ip2addr函数的输出结果再进行动态转换。动态转换GB->UTF-8编码至少有四种方法:用PHP的iconv扩展转换用PHP的mb_string扩展转换用对换表转换,对换表存储在MySQL数据库中用对换

  • PHP读取某站点的链接的函数

    原理:读取某站点的源文件,再利用正则分析其源代码,得到所有链接<?/**********qiushuiwuhen(2002-5-20)***********/if(empty(url))url = “http://www.csdn.net/expert/”;//设置urlsite=substr(url,0,strpos(url,”/”,8));//站点base=substr(url,0,strrpos(url,”/”)+1);//文件所在目录\nfp = fopen(url, “r” );//

  • 用PHP控制您的浏览器cache

    Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1. \n<?php ob_start(); //打开缓冲区 echo ”Hellon”; //输出 header(“location:index.php”); //把浏览器重

  • PHP漏洞中的战争

    滥用include 1.漏洞原因: Include是编写PHP网站中最常用的函数,并且支持相对路径。有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路径泄露等漏洞。看以下代码: … includepage=_GET[\"includepage\"]; include(includepage); … 很明显,我们只需要提交不同的Includepage变量就可以获得想要的页面。如果提交一个不存在的页面,就可以使PHP脚本发生错误而泄露实际绝对路径(这个问题的解决办法在下面的文章有说明)。 2.漏洞解决: 这个漏洞的解决很简单,就是先判断页面是

  • php中rename()函数的妙用

    大家都知道,rename()函数可以对文件或目录进行重命名的操作。其实它还可以做很多事情。 \n熟悉unix的朋友应该知道shell命令mv,它相当与win32的移动,而且移动的同时可进行重命名。我发现,php的rename()函数就相当于mv,它不仅仅只有简单的重命名的功能,同样可以改变文件甚至整个目录的路径。 \n例如: \noldpath —-文件或目录原来路径 \nnewpath —-新定义路径 \n那么 rename(oldpath,newpath)就可以完成文件/目录移动的操作 \n经过我的测试,win32和unix的php4版本都支持这个功能。 \n另外,

  • 图片直读代码

    保存为index.php放在你的图片目录里面\nPHP源码:<? imgtype=array(bmp,jpg,jpeg,png,gif); /****************************************************/ imgtype_count=count(imgtype); path=”.”; handle=opendir(path); while (file = readdir(handle)){ if (is_dir(file)) {continue;} type = explode(“.”,file)

  • PHP解释器的代码高亮输出

    一直喜欢ue9里面对php的默认色彩设置,橙色红色的,ue10改成关键字蓝色了,我又改回来了:  现在想试试php.exe的代码高亮输出与我的喜好一致,仔细调了一下php.ini,并尝试了一些新颜色:\nhighlight.string = #808080highlight.comment = #008000highlight.keyword = #FF8000highlight.bg = #E0E0E0highlight.default = #800000highlight.html = #0080FF\n然后php -q -s test.php>test.html下

  • 解决phpmyadmin 乱码,支持gb2312和utf-8

    群里很多PHP爱好者一直受phpmyadmin的乱码问题困扰.我自从有了mysql-front后,我就很少使用phpmyadmin了.但每次连接远程主机,就比较慢.造成操作不便.今天有点时间,就下了最新的版本来研究.\n首先说明我的数据库使用情况:\nphpmyadmin 版本2.7.0-pl1(如果你使用其它版本,可能会有所不同\nmysql版本MySQL 5.0.11-beta-nt \n我在以前是使用GB2312编码方式,直接写入数据库的,字符集是mysql默认的latin1\nPHP5以后我写的程序都改用UTF-8编码方式了,也是直接读写的.所以字符集也应试是mysql默认的latin

  • AJAX在PHP中的简单使用

    * 作者:heiyeluren* 时间:2005-12-26* Blog: http://blog.csdn.net/heiyeshuwu\nAJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google。我只是一个普通开发者,使用AJAX的地方不是特别多,我就简单的把我使用的心得说一下。(本文假设用户已经具有JavaScript、HTML、CSS等基本的Web开发能力)\n[ AJAX介绍 ]\nAjax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直