我是PHP的新手,我对输出缓冲有疑问。我在网上找到了这个代码:
ob_start();
system('ipconfig /all');
$contents = ob_get_contents();
ob_end_clean();
$searchFor = "Physical";
$pmac = strpos($contents, $searchFor);
$mac = substr($contents, ($pmac + 36), 17);
return $mac;
一切正常,但我不明白输出缓冲区的用法。如果我将其更改为:
$contents = system('ipconfig /all');
$searchFor = "Physical";
$pmac = strpos($contents, $searchFor);
$mac = substr($contents, ($pmac + 36), 17);
return $mac;
似乎无法过滤$ contents的内容来查找mac地址。那么输出缓冲为此做了什么?
根据我对输出缓冲的理解,它将所有页面加载到一个变量中,然后一次全部返回,以便页面一次加载更快。我无法真正看到这将如何改变输出在这种情况下如此彻底。