次のコードがあります。
$cachefile = "http://www.DOMAIN.com/users/{$user}.php";
$fp = fopen($cachefile, 'w'); // open the cache file "cache/home.html" for writing
fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file
fclose($fp); // close the file
ob_end_clean(); // Send the output to the browser
chmod($cachefile, 0644);
次のエラーが発生するため、ファイル パスが無効です。Warning: chmod() [function.chmod]: No such file or directory in ...
ただし、このコードは次のことを行います。
$cachefile = "{$user}.php";
$fp = fopen($cachefile, 'w'); // open the cache file "cache/home.html" for writing
fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file
fclose($fp); // close the file
ob_end_clean(); // Send the output to the browser
chmod($cachefile, 0644);
ファイルは、2 番目のコード ブロックを使用して、それを作成したスクリプトと同じフォルダーに作成されます。ただし、最初のブロックの場所に保存したいと思います。私はphp.netを調べましたfopen
が、何か間違ったことをしていることはわかりませんでしたが、明らかにそうです。
編集 (コメント応答):
私も$cachefile = $_SERVER["DOCUMENT_ROOT"] . "/users/{$user}.php"
無駄に努力しました。