您的位置:首页 > 编程语言 > PHP开发

小文件php+SQLite存储方案

2010-09-04 00:00 645 查看
我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: