我有以下代碼:寫入文件PHP
$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);
文件 - 使用第二個代碼塊 - 與創建它的腳本創建在相同的文件夾中。不過,我想將它保存到第一個區塊的位置。我在php.net上尋找fopen
,我沒有看到我做錯了什麼,但顯然我是。
EDIT(註釋響應):
我也試過$cachefile = $_SERVER["DOCUMENT_ROOT"] . "https://stackoverflow.com/users/{$user}.php"
無濟於事。
您無法打開通過HTTP寫入的遠程URL。如果它是您自己的服務器,請使用相對路徑。 – Ryan
你不能chmod一個遠程文件。如果該文件位於本地服務器上,則使用非URL路徑指向它。 –