phpjs点赞代码 txt存储数据 能调用显示的代码怎么写?
时间: 2024-10-03 17:01:38 浏览: 24
在PHP和JavaScript中,你可以使用文件(如.txt)作为简单的数据库来存储点赞数据。首先,你需要创建一个函数来读取、添加和更新点赞数。这里是一个简化的例子:
1. **存储点赞**:
```php
// PHP 存储点赞
function store_like($filename, $userId, $postId) {
$data = file_get_contents($filename);
if ($data === false) {
// 如果文件不存在,则初始化为空数组
$data = json_decode('[]', true);
}
if (!isset($data[$postId])) {
$data[$postId] = [];
}
$data[$postId][] = $userId; // 添加用户ID到该post的点赞列表
file_put_contents($filename, json_encode($data));
}
// JavaScript 存储点赞 (假设你正在使用Node.js)
const fs = require('fs');
function saveLike(data, filename) {
try {
const dataStr = JSON.stringify(data);
fs.writeFileSync(filename, dataStr);
} catch (err) {
console.error('Error saving likes:', err);
}
}
```
2. **加载并显示点赞**:
```php
// PHP 显示点赞
function display_likes($filename, $postId) {
$data = file_get_contents($filename);
$likes = json_decode($data, true);
return isset($likes[$postId]) ? $likes[$postId] : [];
}
// JavaScript 显示点赞
function getLikes(filename, postId) {
try {
const data = fs.readFileSync(filename, 'utf8');
const likes = JSON.parse(data);
return likes[postId];
} catch (err) {
console.error('Error getting likes:', err);
return []; // 或者返回默认值或空数组
}
}
// 示例调用
$postId = 1;
$userId = 'user1'; // 假设这是当前用户的ID
store_like('likes.txt', $userId, $postId); // 点赞操作
$storedLikes = display_likes('likes.txt', $postId); // 获取并显示点赞
```
记得在实际应用中处理可能出现的错误,比如文件权限问题,以及对数据结构的优化(例如,如果点赞次数很多,可以考虑使用数据库存储而不是文本文件)。
阅读全文