我正在编写一个简单的输出缓冲缓存引擎。
以下是让我陷入困境的代码摘录:
//...
function cache_page($content) {
$handle = fopen('./folder/cache_file','w');
//...
}
//...
ob_start('cache_page');
奇怪的是,当我使用像 './folder/cache_file' 这样的相对路径时,fopen 失败,返回 false。当使用像“C:/foilder/cache_file”这样的完整路径或文件名“cache_file”时,一切都很好。
这个问题似乎与ob_start
处理函数调用(在这种情况下为 cache_page)有关。当然,当我放在$handle = fopen('./folder/cache_file','w')
其他地方时,例如,就在 , 之后ob_start
,fopen
使用上面的相对路径成功。