小文件php+SQLite存储方案_php技巧
程序员文章站
2022-04-27 15:44:18
...
我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用php+SQLite解决问题,经过我测试,切实可行,现在推荐给大家。
现在公开代码:
创建数据库文件:php1.php
$db = new SQLite3('mysqlitedb.db');
//获取文件2进制流
$filename = "http://www.jb51.net/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教程
现在公开代码:
创建数据库文件:php1.php
复制代码 代码如下:
$db = new SQLite3('mysqlitedb.db');
//获取文件2进制流
$filename = "http://www.jb51.net/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();
}
?>
网页引用:
复制代码 代码如下:
推荐阅读
-
小文件php+SQLite存储方案
-
小文件大问题——海量小文件解决方案初探 云计算云存储海量小文件Haystack白山云科技
-
小文件大问题——海量小文件解决方案初探 云存储云计算小文件Haystack白山云科技
-
小文件大问题——海量小文件解决方案初探 云存储云计算小文件Haystack白山云科技
-
小文件大问题——海量小文件解决方案初探 云计算云存储海量小文件Haystack白山云科技
-
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
-
php线性表顺序存储实现代码(增删查改)_php技巧
-
Linux下进行MYSQL编程时插入中文乱码的解决方案_php技巧
-
php线性表顺序存储实现代码(增删查改)_php技巧
-
PHP调用MySQL的存储过程的实现代码_php技巧