数据库
在热铁盒网页托管,您可以通过用 PHP 读写 JSON 文件来实现简单的 JSON 键值数据库。
创建数据库
在文件列表里新建一个 JSON 文件,例如 data.json
,文件内容为 {}
。这样就创建了一个空的 JSON 键值数据库。
读取数据库
要读取 JSON 数据库中的数据,可以使用 PHP 的 file_get_contents
函数读取 JSON 文件内容,然后通过 json_decode
将其转换为 PHP 数组。
<?php
$data = json_decode(file_get_contents("data.json"), true);
请注意,如果您的 JSON 文件位于某个文件夹中,不管 PHP 文件在哪里,都需要使用完整的绝对路径。在热铁盒网页托管,/
是文件名的一部分,因此不支持相对路径。假设您的 JSON 文件在 databases
文件夹中,那么您的代码应该是这样的:
<?php
$data = json_decode(file_get_contents("databases/data.json"), true);
写入数据库
要向 JSON 数据库中添加数据,需要先读取现有数据,将新数据添加到数组中,然后将更新后的数组用 file_put_contents
函数写回 JSON 文件。
<?php
$data = json_decode(file_get_contents("data.json"), true);
$data["key"] = "value";
file_put_contents("data.json", json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
示例
以下是一个简单的示例,演示如何使用 JSON 文件作为数据库来统计每个名字访问的次数。
<?php
const DATA_FILENAME = "visits.json";
if (isset($_GET["name"])) {
$name = $_GET["name"]; // 从网址参数中获取名字
$data = json_decode(file_get_contents(DATA_FILENAME), true); // 读取数据库
if (!isset($data[$name])) {
$data[$name] = 0; // 如果名字不存在于数据库中,初始化为 0
}
$data[$name]++; // 更新数据库的值
file_put_contents(DATA_FILENAME, json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); // 写入数据库
}
?>
<!DOCTYPE html>
<html>
<head>
<title>统计</title>
</head>
<body>
<?php
if (isset($_GET["name"])) {
echo "<p>欢迎," . htmlspecialchars($name) . "!您访问了本站 $data[$name] 次。</p>";
}
?>
<form>
<label for="name">名字:</label>
<input type="text" id="name" name="name">
<input type="submit" />
</form>
</body>
</html>
第三方 SQL 数据库
热铁盒网页托管的 PHP 支持连接到第三方 SQL 数据库,例如阿里云 RDS。如果您在第三方平台上创建数据库并打算在热铁盒网页托管中调用,建议选择位于美国西部的数据库实例以获得最低的网络延迟。