2012-12-04 54 views
0

如果文件先前已經過期但是如果文件不存在,此代碼不起作用。從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); 
     } 

回答

0

您可以

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

$ doc-> save($ filename_xml);這個我alredy試過它does not工程和is_file($ filename_xml)不會有幫助,我認爲。 – user1803098

+0

它不是你所擁有的...有區別..你使用引號'''而你沒有檢查文件是否存在 – Baba

+0

iif(file_exists($ filename_xml)== false){ $ doc-> save ($ filename_xml); }我用這個代碼,然後它不起作用。 – user1803098

0

使用file_exists()檢查,如果文件已經存在。

替換最後一行:

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

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

一般來說,你應該甚至不應該生成xml文件,如果有。

BTW:將$filename_xml)放入「`」是錯誤的。

+0

它不工作更換

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

........我現在動態地訪問文件,並給它一個錯誤:404找不到文件... ......表示沒有創建xml – user1803098