网学网为需要PHP的朋友们搜集整理了小文件php+SQLite存储方案相关资料,希望对各位网友有所帮助!
我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用php+SQLite解决
问题,经过我测试,切实可行,现在推荐给大家。
现在公开代码:
创建数据库文件:php1.php
复制代码 代码如下:
$db = new SQLite3(''mysqlitedb.db'');
//获取文件2进制流
$filename = "/uploadfile/201306/23/4711592995.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="http://www.jb51.net/info.php" width="22" height="30" />
</body>
</html>