小文件php+SQLite存储方案
发布于 2014-11-18 19:57:50 | 168 次阅读 | 评论: 0 | 来源: 网友投递
SQLite轻量级关系型数据库SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
本文为大家讲解的是小文件php+SQLite存储方案,感兴趣的同学参考下。
在互联网快速发展的背景下,网络上的数据内容呈几何级的增长,而其中增长最快并且最容易给信息基础架构带来挑战的就是数目庞大的小文件(如图片、电子图书、邮件等)。
我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用php+SQLite解决问题,经过我测试,切实可行,现在推荐给大家。
程序代码:
创建数据库文件:php1.php
$db = new SQLite3('mysqlitedb.db');
//获取文件2进制流
$filename = "http://www.xxx.com/logo.gif";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize ($filename));
fclose($handle);
//创建数据表
$db->exec('CREATE TABLE person (idnum TEXT,name TEXT,photo BLOB)');
$stmt = $db->prepare("INSERT INTO person VALUES ('41042119720101001X', '张三',?)");
$stmt->bindValue(1, $contents, SQLITE3_BLOB);
$stmt->execute();
读数据文件:php2.php
$pdo = new SQLite3('mysqlitedb.db');
$results = $pdo->query('select * from person');
while ($row = $results->fetchArray()) {
ob_start();
header("Content-Type: image/jpg");
echo $row['photo'] ;
ob_end_flush();
}
?>
网页引用:
ANSYS教程相关阅读:
小文件php+SQLite存储方案
PHP SQLite类
php SQLite学习笔记与常见问题
SQLite PHP
Android操作存放在assets文件夹下SQLite数据库的方法
SQLite多线程使用总结
查看SQLite中的数据信息方法
SQLite创建表并添加数据简单示例
SQLite数据库常用操作示例
SQLite常用方法
SQLite常用函数及curl操作示例
python查询sqlite数据表的方法