我正在使用fwrite在我的插件中的一個文件夾中創建一個html文件。下面的代碼現在允許我寫入文件夾,但它嘗試打開的鏈接是完整的系統路徑。WordPress fopen獲取目錄鏈接
function buildFrameFile($html, $filename){
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$filename= $DOCUMENT_ROOT. '/wp-content/plugins/my-plugin/html/' . $filename . ".html";
$fh = fopen($filename, 'a');//open file and create if does not exist
fwrite($fh, $html);//write data
fclose($fh);//close file
return $filename;
}
現在打開的路徑是:
/var/chroot/home/content/##/########/html/wp-content/plugins/my-plugin/html/79dda339bad8e65c425e580d62f41fa1.html
我需要它從這裏打開:
/wp-content/plugins/my-plugin/html/79dda339bad8e65c425e580d62f41fa1.html
我不知道如何去這一點。然後,你可以再次檢查
- http://codex.wordpress.org/Determining_Plugin_and_Content_Directories#Available_Functions
- http://codex.wordpress.org/Determining_Plugin_and_Content_Directories#Constants
:
我不確定那對我有幫助。我已經嘗試過目錄上的chmod 777,並使用fwrite()以及file_put_contents(),甚至有$ DOCUMENT_ROOT = $ _SERVER ['DOCUMENT_ROOT'];設置爲插件路徑。但是,如果我使用$ DOCUMENT_ROOT = $ _SERVER ['DOCUMENT_ROOT'],它只會寫入文件夾;那當然然後調用文件的完整系統路徑,然後無法訪問。該文件確實被添加到文件夾。 – 2013-05-03 22:38:42
您的HTTP服務器是否也從chroot運行? – kyeno 2013-05-04 01:16:19
託管服務是godaddy.com,我不知道它是否從chroot運行。在我運行上面的腳本之前,我沒有看到任何顯示它的事情。 – 2013-05-04 02:28:16