我希望当有人在表单上点击“提交”然后打开一个xml文件并用表单中生成的新数据覆盖所有内容。
PHP能做到吗?我应该寻找什么才能开始?有什么例子吗?
答案 0 :(得分:0)
是的,使用
$toWrite; // data generated from form, formatted to XML
$fp = fopen('data.xml', 'w');
fwrite($fp, $toWrite);
fclose($fp);
答案 1 :(得分:0)
听起来你刚开始。
您需要研究以下内容:
另外,如果您有一个特定于php的问题,请将其提取到一个单词并在php.net/的末尾添加它
例如,尝试访问php.net/xml(您将找到有关使用XML的文档)
而且,无论谁改变原来的海报 - cmon,man。如果你认为它只是一个问题的基础,那就继续吧。我们都必须从某个地方开始。
答案 2 :(得分:0)
1 - 填写表格以填写数据 2 - 将表单数据发送到操作页面(如果您愿意,可以是同一页面) 3 - 从表单中将数据写入XML文件。 4 - 完成了!
我不明白为什么你需要交换数据。 您只需使用所需数据创建新的XML文件就很容易。 请看下面的示例。
// YOUR DATA FROM METHOD POST OR GET
$doc1 = $_POST['doc1'];
... and so on
// Start XML file, echo parent node
$data = '<sistema versao="1.02" encoding="utf-8">';
// ADD TO XML DOCUMENT NODE
$data .= '<dest>';
$data .= '<doc>' . parseToXML($doc1) . '</doc>';
$data .= '<xName>' . parseToXML($name) . '</xName>';
$data .= '<addrDest>';
$data .= '<xLgr>' . parseToXML($addr) . '</xLgr>';
$data .= '<nro>' . parseToXML($num) . '</nro>';
$data .= '<xCpl>' . parseToXML($comp) . '</xCpl>';
$data .= '<xSub>' . parseToXML($suburb) . '</xSub>';
$data .= '<cMun>3523206</cMun>';
$data .= '<xMun>' . parseToXML($city) . '</xMun>';
$data .= '<UF>' . parseToXML($state) . '</UF>';
$data .= '<CEP>' . parseToXML($zip) . '</CEP>';
$data .= '<cCoun>1058</cCoun>';
$data .= '<xCoun>BRASIL</xCoun>';
$data .= '<phone>' . parseToXML($tel1) . '</phone>';
$data .= '</addrDest>';
$data .= '<email>' . parseToXML($email) . '</email>';
$data .= '</dest>';
// End XML file
$data .= '</sistema>';
# Put data into client.xml
file_put_contents('client.xml', $data);
我希望这会给你一个开始。祝你好运!
答案 3 :(得分:0)
这看起来已经回答了,但是fwrite()解析并没有真正解释它对我们新手的作用。我使用了file_put_contents,但这是一个有效的例子......
$writeXML = new XMLWriter();
$writeXML->openMemory();
$writeXML->setIndent(true);
$writeXML->startDocument("1.0","UTF-8");
$writeXML->startElement($root);
//foreach loop iterating through array results and writing elements
$writeXML->endDocument();
//this will overwrite the xml file
file_put_contents('xmlfile.xml', $writeXML->flush(true));
//this will append any data to the end of the file
file_put_contents('xmlfile.xml', $writeXML->flush(true), FILE_APPEND);
希望这有助于... file_put_contents:PHP Manual。