小文件php+SQLite存储方案 |
本文标签:php,SQLite,存储方案 我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限 。只能另装思路,采用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 复制代码 代码如下: <?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> |