単純な出力バッファリング キャッシュ エンジンを作成しています。
これが私を困らせるコードの抜粋です:
//...
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
成功します。