如果文件不存在,则从php生成xml

时间:2012-12-04 12:16:22

标签: php xml

如果文件先前存在但如果文件不存在,则此代码无效。

$doc = new DOMDocument();
        $doc->version = '1.0';
        $doc->encoding = 'ISO-8859-1';
        $response = $doc->createElement('response');
        $doc->appendChild($response);
        $response_type= $doc->createElement('response_type','Yes');
        $response_id = $doc->createElement('response_id',$max_id_site);
        $response->appendChild($response_type);
        $response->appendChild($response_id);
        $doc->formatOutput = true;
        echo $doc->saveXML();
        $doc->save('$filename_xml');

更新代码

$doc = new DOMDocument();
        $doc->version = '1.0';
        $doc->encoding = 'ISO-8859-1';
        $response = $doc->createElement('response');
        $doc->appendChild($response);
        $response_type= $doc->createElement('response_type','Yes');
        $response_id = $doc->createElement('response_id',$max_id_site);
        $response->appendChild($response_type);
        $response->appendChild($response_id);
        $doc->formatOutput = true;
        echo $doc->saveXML();
        if (! is_file($filename_xml)) {
            touch($filename_xml) or trigger_error("Can't Create File");
            $doc->save($filename_xml);
        }   

2 个答案:

答案 0 :(得分:0)

使用file_exists()检查文件是否已存在。

替换最后一行:

$doc->save('$filename_xml');

if( file_exists( $filename_xml ) == false ) {
  $doc->save( $filename_xml );
}

一般来说,如果文件存在,你甚至不应该生成xml。

BTW:将$filename_xml)放在“`”中是错误的。

答案 1 :(得分:0)

您可以替换

$doc->save('$filename_xml');

if (! is_file($filename_xml)) {
    touch($filename_xml) or trigger_error("Can't Create File");
    $doc->save($filename_xml);
}