小文件php+SQLite存储方案

yipeiwu_com5年前PHP代码库
我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用php+SQLite解决问题,经过我测试,切实可行,现在推荐给大家。

现在公开代码:
创建数据库文件:php1.php
复制代码 代码如下:

$db = new SQLite3('mysqlitedb.db');

//获取文件2进制流
$filename = "//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
复制代码 代码如下:

<?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();
}
?>

网页引用:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ANSYS教程</title>
</head>
<body>
<img src="//www.jb51.net/info.php" width="22" height="30" />
</body>
</html>

相关文章

php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)

今天在处理删除字符串两端的特定字符时遇到了下面的问题,先看例子<SPAN style="FONT-SIZE: 18px"></SPAN>  $str =...

php的webservice的wsdl的XML无法显示问题的解决方法

php的webservice的因为wsdl有中文所以xml无法显示 可以用Nopepad++  转码即可  以UTF-8无BOM编码...

php中mkdir函数用法实例分析

本文实例分析了php中mkdir函数用法。分享给大家供大家参考。具体分析如下: mkdir()语法:bool mkdir(字符串目录,诠释权限)dirThe新directory.perm...

详解WordPress中简码格式标签编写的基本方法

WordPress 简码是一种类似于论坛标签的东西,格式类似于把尖括号换成中括号的 Html 标签。简码很多人叫做短代码,但官方的翻译应该是简码,在这里纠正一下。 简码的开发的逻辑比较简...

PHP预定义超全局数组变量小结

本文实例讲述了PHP预定义超全局数组变量。分享给大家供大家参考,具体如下: 1.PHP 预定义的超全局变量数组 特性: a.特殊的数组,操作方式没有区别 b.不用声明,php脚本中默认存...