php中的header
手册摘入:
header
发送一个原始 HTTP 标头 (PHP 3, PHP 4, PHP 5)
void header ( string string [, bool replace [, int http_response_code]] )
具体各参数就看php手册了,说得很详细,这次我用到的是header("Location: http://ovliverlin.cnblogs.com");这个功能,这样实现跳转在单独空白页面是没问题的,但是如果不是手册所说得情况“要记住 header() 必须在任何实际输出之前调用,不论是来自普通的 HTML 标记,空行或者 PHP。”就会产生header already sented的错误提示,且不会执行跳转,在web端可以使用代替,但是如果无法实现js的wap端呢?而或必须使用header的情况呢?这样可以使用缓存来解决。手册中引用“可以在代码中使用 ob_start() 及 ob_end_flush() 来实现这样的功能,或者通过修改 php.ini 中的 output_buffering 配置选项来实现,也可以通过修改服务器配置文件来实现。”
如下:
ob_start();
.....
header("Location: http://ovliverlin.cnblogs.com");
?>
手册中的ob_start()解释是:
This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer
也就是它可以缓存所有的页面内容(除header)标头,即:这样就使得header优先于其他输出。
这种用法有个注意:
注意:
Microsoft Internet Explorer 4.01 中的一个漏洞使得该机制无法正常工作,无解决方案。在 Microsoft Internet Explorer 5.5 中也有个漏洞影响到这一点,升级到 Service Pack 2 或更高版本可以解决。
上一篇: 在php中 取得mysql 列信息的两种方法_PHP教程
下一篇: 问一个数据库表命名的问题。
推荐阅读
-
MYSQL的一个表中的数据已经达到了2000万条 怎么能更近一步优化
-
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1_php实例
-
PHP 里面call_user_func和$class->$func()的区别
-
改进中的模板 PHP解释性模板Phplib
-
PHP面向对象编程的基础知识讲解_PHP教程
-
使用POI将Mysql或Oracle中的数据导入到Excel中去_MySQL
-
php如何控制用户对图片的访问 PHP禁止图片盗链
-
基于Linux下PHP连接SQL Server的FreeTDS配置
-
5个开发人员不应该错过的最好跨平台PHP编辑器_PHP
-
PHP实现生成唯一编号(36进制的不重复编号)_PHP