易截截图软件、单文件、免安装、纯绿色、仅160KB

分析PHP的ob_start()


在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出, 或者把这些函数的输出作为字符串来处理.
  这时我们就要用到 Output Buffer(输出缓冲) 函数了.
处理输出缓冲的函数主要有这么几个:
ob_start() 开始输出缓冲, 这时PHP停止输出, 在这以后的输出都被转到一个内部的缓冲里.
ob_get_contents() 这个函数返回内部缓冲的内容. 这就等于把这些输出都变成了字符串.
ob_get_ length() 返回内部缓冲的长度.
ob_end_flush() 结束输出缓冲, 并输出缓冲里的内容. 在这以后的输出都是正常输出.
ob_end_clean() 结束输出缓冲, 并扔掉缓冲里的内容.
  举个例子, var_dump()函数输出一个变量的结构和内容, 这在调试的时候很有用.
但如果变量的内容里有 < , > 等HTML的特殊字符, 输出到网页里就看不见了. 怎么办呢?
用输出缓冲函数能很容易的解决这个问题.
ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();
这时var_dump()的输出已经存在 $out 里了. 你可以现在就输出:
echo ''<pre>'' . htmlspecialchars($out) . ''</pre>'' ;
或者等到将来, 再或者把这个字符串送到模板(Template)里再输出


相关文档:

PHP模拟多线程方法总结

PHP语言本身是不支持多线程的. 总结了一下网上关于PHP模拟多线程的方法, 总的来说, 都是利用了PHP的好伙伴们本身所具有的多线程能力.
PHP的好伙伴指的就是LINUX和APACHE啦, LAMP嘛.
另外, 既然是模拟的, 就不是真正的多线程. 其实只是多进程. 进程和线程是两个不同的概念. 好了, 以下方法都是从网上找来的.
1. 利用LIN ......

配置Apache的访问目录(for PHP)

       在默认情况下,php的项目需要建在Apache Group\Apache\htdocs目录下才可以正常访问。当我们需要自己建立一个不在Apache Group\Apache\htdocs目录下的工作区间时,就需要改变Apache的访问指定路径。安装好Apache 后,在Apache Group\Apache\conf 下有一个文件httpd.conf,它里面包含着 ......

PHP做后台程序的一些问题

PHP的优点是简单实用。用它来写一些脚本,或者是webservice、数据库类的一些访问,确实是很简单方便。
但它有一个很大的问题,就是内存的回收问题。根据使用的经验觉得是几乎是没有回收。比如解析一个1百兆的XML文件,内存使用能到1G多,而且还不释放。
所以用php写后台程序,一定不要做成死循环的,至少是过一段时间退出 ......

php文件上传类

 
<?php
  /**
  * PHP100.com - 个人感觉非常简单,只要有点PHP基础滴人都应该能看懂~~
  * Apache2 + PHP5.0
  * Version:1.0
  * 同时感谢PHP100所有的兄弟们
  * ——————————————&m ......

php下载文件相关资料

当下载文件需要与服务端交互时,就需要用脚本来实现,而不是单纯地链接到文件的地址
下载mp3文件的例子
<?php
$file_path = './data/upload/song/sample.mp3';
$file_name = 'sample.mp3';
$file_size = filesize($file_path);
header ( "Pragma: public" );
header ( "Cache-Control: must-reval ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号