0

このコードは、ファイルが以前に存在していた場合は機能しますが、ファイルが存在しない場合は機能しません。

$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);
        }   
4

2 に答える 2

0

file_exists()ファイルが既に存在するかどうかを確認するために使用します。

最後の行を置き換えます:

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

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

一般に、ファイルが存在する場合、xml を生成することさえすべきではありません。

ところで: $filename_xml"`" に ) を入れるのは間違っています。

于 2012-12-04T12:21:16.653 に答える
0

交換できます

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

if (! is_file($filename_xml)) {
    touch($filename_xml) or trigger_error("Can't Create File");
    $doc->save($filename_xml);
}
于 2012-12-04T12:25:42.713 に答える