【发布时间】:2013-05-31 05:44:03
【问题描述】:
从 HTML 表单提交时,我需要为 XML 文件添加时间戳。我有一个 php 脚本,它使用从表单生成的数据创建一个 XML 文件。提交表单时,我希望它在 XML 文件中有一个时间戳元素。最简单的方法是什么?表单中的隐藏字段还是我可以添加到 php 脚本中来为我执行此操作?
这是我用来创建文件并将表单中的数据插入 XML 文件的脚本。
<?php
if (isset($_POST['lsr-submit']))
{
header('Location: http://www.mesquiteweather.net/wxmesqLSR.php');
}
$str = '<?xml version="1.0" encoding="UTF-8"?><entrys></entrys>';
$xml = simplexml_load_string($str);
$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$location = $_POST['location'];
$report = $_POST['report'];
$description = $_POST['desc'];
$fname = htmlentities($fname, ENT_COMPAT, 'UTF-8', false);
$lname = htmlentities($lname, ENT_COMPAT, 'UTF-8', false);
$location = htmlentities($location, ENT_COMPAT, 'UTF-8', false);
$report = htmlentities($report, ENT_COMPAT, 'UTF-8', false);
$description = htmlentities($description, ENT_COMPAT, 'UTF-8', false);
$xml->reports = "";
$xml->reports->addChild('fname', $fname);
$xml->reports->addChild('lname', $lname);
$xml->reports->addChild('location', $location);
$xml->reports->addChild('report', $report);
$xml->reports->addChild('description', $description);
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;
$doc->loadXML($xml->asXML(), LIBXML_NOBLANKS);
$doc->save('test2.xml');
?>
-谢谢!
【问题讨论】:
-
date()怎么样? -
你可以试试
date("Y-m-d H:i:s",time()); -
那是为了格式化它,但是,它会进入 php 脚本还是 HTML 表单?我希望在提交表单时将其隐藏并为每个 XML 条目添加时间戳。
-
如上所述,添加
$xml->reports->addChild('timestamp', date("Y-m-d H:i:s",time()));之类的内容(可能是 XML 文件中的第一个条目)应该会添加您需要的信息。它会在脚本运行时生成时间戳,您无需在 html 表单中添加任何内容。 -
$xml->reports->addChild('timestamp', date("Y-m-d H:i:s",time()));效果很好。我试图将其用作隐藏字段的值。