用于编写垃圾测试数据的等效/ dev / null?

时间:2013-08-04 21:03:06

标签: php garbage dev-null

我需要执行一系列测试,为我设计的一组函数选择最快的代码分支。由于此函数输出一些文本/ HTML内容,我想测量速度而不用浏览器填充垃圾数据。

PHP中是否有等效的/ dev / null?与我发现的临时数据最接近的等价物是php://tempphp://memory,但这两个I / O流存储垃圾数据,我希望每个数据都以'假'形式写入方式。

我总是可以在变量ala $tmp .= <function return value goes here>中编写所有垃圾数据,但我确信必须有一个更优雅或更好的方法来实现这个 WITHOUT 诉诸{{ {1}},shell_exec()exec()和类似的方法(我将测试最终代码的生产服务器不会有任何这些命令)。

是否有等价的?

2 个答案:

答案 0 :(得分:0)

我认为你最好的选择是streamWrapper,用microtime描述你的输出,你可以stream_wrapper_register。手册中的example非常好。

如果您的代码不是那么复杂,或者您失败了,那就太过分了,您可以使用ob_start回调处理程序

希望这有帮助。

答案 1 :(得分:0)

//对于它的价值,这适用于CentOS 6.5 php 5.3.3。

$fname = "/dev/null";
if(file_exists($fname))   print "*** /dev/null exists ***\n";

if (is_readable($fname))  print "*** /dev/null readable ***\n";

if (is_writable($fname))  print "*** /dev/null writable ***\n";

if (($fileDesc = fopen($fname, "r"))==TRUE){
    print "*** I opened /dev/null for reading ***\n";
    $x = fgetc($fileDesc);
    fclose($fileDesc);
}

if (($fileDesc = fopen($fname, "w"))==TRUE)
{
    print "*** I opened /dev/null for writing ***\n";
    $x = fwrite($fileDesc,'X');
    fclose($fileDesc);
}
if (($fileDesc = fopen($fname, "w+"))==TRUE) {
    print "*** I opened /dev/null for append ***\n";
    $x = fwrite($fileDesc,'X');
    fclose($fileDesc);
}