当前位置: 首页> 最新文章列表> PHP表单导出教程:轻松实现CSV、JSON、XML及数据库导出

PHP表单导出教程:轻松实现CSV、JSON、XML及数据库导出

M66 2025-10-28

在PHP中导出表单的完整方法

在Web开发中,导出表单数据是一个常见的功能场景,例如保存用户提交的信息、生成报表文件或备份数据。本文将介绍如何使用PHP导出表单数据为多种格式,如CSV、JSON、XML文件,或直接写入数据库。

创建HTML表单

首先,需要一个简单的HTML表单,用于收集用户输入数据:

<form action="export.php" method="post">
  <input type="text" name="name" placeholder="名称">
  <input type="email" name="email" placeholder="电子邮件">
  <input type="submit" value="导出">
</form>

接收并处理表单数据

export.php 文件中,使用 $_POST 获取用户提交的表单内容:

$name = $_POST['name'];
$email = $_POST['email'];

导出数据的多种方式

根据实际需求,可以选择不同的数据导出方式。

导出为CSV文件

使用PHP内置的文件写入函数生成一个CSV文件:

$fh = fopen('export.csv', 'w');
fputcsv($fh, array('Name', 'Email'));
fputcsv($fh, array($name, $email));
fclose($fh);

导出为JSON文件

JSON是一种轻量级的数据格式,适合前后端数据交换:

$data = array('name' => $name, 'email' => $email);
$json = json_encode($data);
file_put_contents('export.json', $json);

导出为XML文件

若需要将数据导出为XML格式,可使用 SimpleXMLElement 类:

$xml = new SimpleXMLElement('<data></data>');
$xml->addChild('name', $name);
$xml->addChild('email', $email);
$xml->asXML('export.xml');

保存到数据库

若希望数据长期保存,可选择将表单内容写入数据库:

$servername = "localhost";
$username = "root";
$password = "";
$database = "form_data";

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $name, $email);
$stmt->execute();
$conn->close();

输出导出的文件

如果希望用户下载生成的文件,可以通过设置响应头实现:

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=export.csv');
readfile('export.csv');

总结

通过以上方法,我们可以灵活地在PHP中实现表单数据的导出功能。无论是生成CSV、JSON、XML文件,还是将数据存入数据库,都可以根据项目需求自由选择。掌握这些技巧,将大大提高Web数据处理与导出效率。