[转]用PHP的ob_start();控制您的浏览器cache!
Output Control
函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用
header()
或
setcookie(),
发送的文件头信息产生影响
,
只对那些类似于
echo()
和
PHP
代码的数据块有作用。
我们先举一个简单的例子,让大家对
Output Control
有一个大致的印象:
Example 1.
CODE<?php
ob_start(); //
打开缓冲区
echo \"Hellon\"; //
输出
header("location:index.php"); //
把浏览器重定向到
index.php
ob_end_flush();//
输出全部内容到浏览器
?>
所
有对
header()
函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回
车和换行)就会提示出错。如果我们去掉第一行的
ob_start()
,再执行此程序,我们会发现得到了一条错误提示:
"Header
had all ready send by"
!但是加上
ob_start
,就不会提示出错,原因是当打开了缓冲区,
echo
后面的字符不会输出到浏览器,而是保留在服务器,直到你使用
flush
或者
ob_end_flush
才会输出,所以并不会有任何文件头输出的错误!
一、
相关函数简介:
1
、
Flush
:刷新缓冲区的内容,输出。
函数格式:
flush()
说明:这个函数经常使用,效率很高。
2
、
ob_start
:打开输出缓冲区
函数格式:
void
ob_start(void)
说明:当缓冲区激活时,所有来自
PHP
程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用
ob_end_flush()
或
flush()
输出缓冲区的内容。
3
、
ob_get_contents
:返回内部缓冲区的内容。
使用方法:
string
ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回
FALSE
。
4
、
ob_get_length
:返回内部缓冲区的长度。
使用方法:
int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和
ob_get_contents
一样,如果输出缓冲区没有激活。则返回
FALSE
。
5
、
ob_end_flush
:发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:
void
ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6
、
ob_end_clean
:删除内部缓冲区的内容,并且
相关文档:
编码是个很基础的问题,也是大家很容易忽略的问题,写代码之前多多考虑,以后会少很多麻烦。
PHP发展了不少,现在pear用起来很方便,其中就有相关的class来读取Excel文件里面的内容,如果不想使用pear的话,可以考虑使用excel_class.php,google一下,可以找到这个class的source code下载,也能找到基本的example c ......
步骤一:搭建环境
1,首先查看你的php扩展目录下是否有php_gettext.dll这个
文件,如果没有,这就需要你
下载一个或是从其他地方拷贝一个,然后放到php扩展目录。
2,打开php.ini,查
找”;extension=php_gettext.dll“ ,然后去除注释,重启apache。
步骤二:原理讲解
假如你的没
有国际化的程序里有这样 ......
(1) autoload机制概述
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子:
CODE:
/* ......
windows下开发php扩展网上很多资料都说需要Cygwin,其实完全可以不必安装该东东。没错,是可以在linux下生成骨架后拷到windos下来用,但是,如果没有linux环境呢?什么,装虚拟机?我晕,你咋又绕回去了- -! 除了编译外,shell环境主要就是为了生成扩展的骨架,其实骨架已经在php源码包中了了,我们只需要把相关名字替换一 ......
In the directory where you plan to install Elgg, do the following:
Create the file .htaccess and add these two lines
RewriteEngine on
RewriteRule ^testing.php$ modrewrite.php
This tells the webserver to load modrewrite.php when testing.php is
requested.
In order to get this test to work on ......