我有一些PHP腳本,將html文件寫入文件夾。這完全在WordPress以外工作。但是,當我嘗試將我的代碼合併到插件中時,它不會再寫入文件夾。我甚至嘗試將它寫入我在WordPress之外的根目錄下測試它的原始文件夾,並且它也不會寫入該文件夾。Wordpress不使用fwrite()寫入文件夾;
這是寫入html文件的函數。
function buildFrameFile($html, $filename){
$filename= '/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;
}
我甚至試過
$fh = fopen($filename, 'a');
$fh = fopen($filename, 'a+');
$fh = fopen($filename, 'w');
$fh = fopen($filename, 'a+');
沒有這些工作要麼。
我在考慮在WordPress中,它可能是一些php.ini文件或.htaccess文件,需要在我想寫入的文件夾中,但我卡住了。
*更新**
我發現在錯誤日誌中的一些錯誤和如下:
錯誤:FWRITE()預計參數1是資源,布爾在給定....
$fh = fopen($filename, 'a');//open file and create if does not exist
fwrite($fh, $html);//write data
fclose($fh);//close file
第二更新
添加以下代碼現在它在文件寫入到文件夾
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/c413c4976260c1a786e7a48be03f3ad2.html
打開它,我不相信鏈接將允許找到文件,因爲它不會顯示在瀏覽器中。
是你的測試發生在同一個服務器上的WordPress的安裝?你的服務器錯誤日誌說什麼? – JMC 2013-05-03 15:58:56
是的,它在同一臺服務器上,問題是我運行它時沒有收到任何錯誤。 – 2013-05-03 16:02:13
Wordpress可能會抑制錯誤。你檢查了日誌嗎? – JMC 2013-05-03 16:03:20