PHP - 文章列表
-
用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另外,
-
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,用户可以创建接近本地桌面应用的直
-
web开发中PHP+MySQL分页显示示例分析
Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。 一、分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录(pagesize)和当前是第几页(page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里
-
PHP程序加速探索之代码优化
掌握了PEAR::BenchMark,现在你已经知道如何测试你的代码,知道如何判断你的代码是快是慢,是哪一部份比较慢。那么接下来我要说的就是如何消灭或优化那部份慢的代码。 这一点上我个人最主要的经验只有两点,一是消除错误的或低效的循环;二是优化数据库查询语句。其实还存在一些其它的优化细节,比如“str_replace比ereg_replace快”、“echo比print快”等等。这些我暂时都放在一边,稍后我会提到用缓存来对付过于频繁的IO。 下面我们将三个功能相同,但程序写法不同的函数的效率(消耗的时间)进行对比。 badloops.php\n<?php require_once(&#
-
PHP开发中接收复选框信息的方法
PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。 假设有这样一个表单: \n<form name=”form1″ id=”form1″ method=”post”
-
如何在十天学内会php之第九天
学习目的:注意事项 因为我是先学ASP的,所以再做PHP的时候会发现很多地方需要适应。 1、注意不要漏了分号 2、注意不要漏了变量前的 3、使用SESSION的时候注意不要遗漏session_start(); 如果发生错误的时候,可以采用以下方法: 1、如果是SQL语句出错,就注释了然后输出SQL语句,注意也要注释调后续的执行SQL语句 2、如果是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name 3、如果是数据库连接出错,检查是否正确打开MY SQL和是否遗漏了连接语句 4、注意缩进,排除括号不区配的错误