检查文件是否存在,如果不存在,则创建

时间:2010-07-29 11:29:42

标签: php xml file domdocument

我如何使用php dom检查,如果存在xml文件,如果没有创建它。

<?php
    header("Location: index.php");

    $xmldoc = new DOMDocument();
    $xmldoc->load('sample.xml');
    $newAct = $_POST['activity'];

    $root = $xmldoc->firstChild;
    $newElement = $xmldoc->createElement('activity');
    $root->appendChild($newElement);
    $newText = $xmldoc->createTextNode($newAct);
    $newElement->appendChild($newText);
    $xmldoc->save('sample.xml');

?>

现在,因为它不存在,它给了我这个错误:

DOMDocument::load(): I/O warning : failed to load external entity 

3 个答案:

答案 0 :(得分:10)

不要用dom做,请自行检查:

if(file_exists('sample.xml')){
    $xmldoc->load('sample.xml');
} else {
    $xmldoc->loadXML('<root/>');//or any other rootnode name which strikes your fancy.
}

保存到文件将在$xmldoc->save();进一步自动完成。

答案 1 :(得分:2)

使用file_exists('sample.xml')

答案 2 :(得分:0)

load函数返回true和false。尝试使用此代码:

...
$res = $xmldoc->load('sample.xml');
if ($res === FALSE)
{
     /// not exists
}

http://de2.php.net/manual/en/domdocument.load.php