[英]Using PHP to create and save XML in subfolder
我正在使用PHP使用以下語法創建和保存xml文件:
$xml->save("source1.xml") or die("Error");
它工作正常,直到我意識到我有超過300個來源。 在我的文件夾中的含義工作文件例如; 我的css和php文件我將額外的300 ++ xml文件與我的主要工作文件混合在一起。 最重要的是,我沒有硬編碼“source1.xml”,而是根據所選源動態創建動態,並動態創建xml文件,例如,所選源是“source189.xml”並且該特定文件不存在。
所以我在為xml doc添加節點和子節點之前添加了這個:
$path = 'xml_'.$level.'_syll/';
$filename = $src.'.xml';
$file = $path.$filename;
有了這個,我用這個保存我的xml:
$xml->save($file) or die("Error");
並得到此錯誤:
Warning: DOMDocument::save() [domdocument.save]: Unable to access xml_data_syll/source3.xml in file.php on line 85
Warning: DOMDocument::save(xml_data_syll/source3.xml) [domdocument.save]: failed to open stream: No such file or directory in file.php on line 85
Error
所以我猜這與許可有關。 我用Google搜索並找到了使用chmod授予權限的解決方案。 那么如何在文件保存期間插入chmod?
我試過:$ xml-> save($ file(chmod($ file,0777)))或die(“Error”);
我得到的錯誤是:
Fatal error: Call to undefined function xml_data_syll/source3.xml() in file.php on line 86
任何指針都非常感謝。
DOMDocument::save()
如果不存在則不會創建中間目錄。 因此,在調用save()
之前,需要檢查目錄是否存在並創建它:
if (!is_dir($path)) {
mkdir($path, 0700);
}
在此之后你可以調用$xml->save($file)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.