我有一個函數(shù),它創(chuàng)建我制作的表單模板的新實例(不使用模板引擎),并根據(jù)傳遞給它的對象用各種數(shù)據(jù)填充它。加載頁面時,我使用此函數(shù)為現(xiàn)有對象創(chuàng)建表單,但界面中還有一個按鈕,它向單獨的腳本發(fā)出 ajax 請求,該腳本創(chuàng)建一個新對象,然后調(diào)用該函數(shù)為該對象創(chuàng)建表單。作為對 ajax 的響應發(fā)送的對象。錯誤是:Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "templates/form_edit_event.html" in C:\wamp64\www\<private>\src\<private>\components\component_edit_event.php on line 12它引用的代碼:11 $eventDom = new DOMDocument();12 $eventDom->loadHTMLFile('templates/form_edit_event.html');但問題是,當頁面首次加載時,我的腳本和 loadHTMLFile 函數(shù)可以很好地為已經(jīng)存在的對象創(chuàng)建表單。僅當我使用該按鈕嘗試創(chuàng)建新按鈕時,才會出現(xiàn) I/O 錯誤。其確切文本如下,盡管我掩蓋了一些不重要的目錄名稱:它加載的文件是純 html,甚至沒有頁眉/頁腳等,只是<form>contents</form>. 我不知道為什么它有時會失敗。從ajax調(diào)用的整個腳本(減去一些不相關的使用/包含)是這樣的,component_edit_event.php上面提到的腳本創(chuàng)建了表單:include_once __DIR__ . '\..\components\component_edit_event.php';$tourneyId = $_POST['tourneyId'];/** @var DimTournament $tourney */$tourney = DimTournament::findById($tourneyId);$newEvent = new DimEvent($tourney);echo createEventForm($newEvent)->saveHTML();我認為我不需要包含任何其他代碼,但如果需要的話我絕對可以。
1 回答

叮當貓咪
TA貢獻1776條經(jīng)驗 獲得超12個贊
將相對路徑替換$eventDom->loadHTMLFile('templates/form_edit_event.html');
為絕對路徑解決了該問題。引發(fā)錯誤的腳本與工作正常的腳本位于不同的目錄中。
我將使用某種 $srcRoot 變量創(chuàng)建一個配置文件,以便在路徑名中保留一些偽相對論的外觀。
- 1 回答
- 0 關注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消