我们以php为例实现一个自定义的二进制文件数据库,通过pack与unpack格式化数据进行存储,示例如下:
<?php
class Person_Data
{
/**
* 数据库文件路径
*
* @var string
*/
var $_database = 'wps.db';
/**
* 打开一个数据库文件
*
* @param string $file 数据库文件名
*/
function openDb($file = 'wps.db') {
$this->_database = $file;
$this->_database = fopen($this->_database, 'ab+');
}
/**
* 向数据库中写入一条记录
*
* @param array $data
* @return void
*/
function writeRecord($data) {
$name = pack('a8', $data['name']);
$age = pack('S', $data['age']);
$email = pack('a30', $data['email']);
fwrite($this->_database, $name . $age . $email);
}
/**
* 读取一条记录
*
* @param int $count optional default to 0 记录id数
* @return array
*/
function read($count = 0) {
rewind($this->_database);
fseek($this->_database, 40 * $count);
$return = array();
$return['name'] = unpack('a8', fread($this->_database, 8));
$return['name'] = $return['name'][1];
$return['age'] = unpack('S', fread($this->_database, 2));
$return['age'] = $return['age'][1];
$return['email'] = unpack('a30', fread($this->_database, 30));
$return['email'] = $return['email'][1];
return $return;
}
}
$me = array('name' => '张涛',
'age' => 23,
'email' => 'bfw@bfw.wiki');
$data = new Person_Data();
$data->openDb('wps.db');
$data->writeRecord($me);
print_r($data->read(1));
网友回复
webrtc进行p2p连接发送的文本音视频文件是否是加密的?
如何让一个可爱的三维动物通过three在浏览器中有表情动作的自然说话?
go与wails如何开发一个高性能的原生桌面应用?
python如何调用openai的api实现知识讲解类动画讲解视频的合成?
html如何直接调用openai的api实现海报可视化设计及文本描述生成可编辑海报?
f12前端调试如何找出按钮点击事件触发的那段代码进行调试?
abcjs如何将曲谱播放后导出mid和wav格式音频下载?
python如何将曲子文本生成音乐mp3或wav、mid文件
python中mp3、wav音乐如何转成mid格式?
js在HTML中如何将曲谱生成音乐在线播放并下载本地?