小文件php+SQLite存储方案

2015-01-24信息快讯网

在互联网快速发展的背景下,网络上的数据内容呈几何级的增长,而其中增长最快并且最容易给信息基础架构带来挑战的就是数目庞大的小文件(如图片、电子图书、邮件等)。

我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限。只能另装思路,采用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> 
PHP测试程序运行时间的类
PHP设计模式 注册表模式
PHP设计模式 注册表模式(多个类的注册)
需要注意的几个PHP漏洞小结
PHP的可变变量名的使用方法分享
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
PHP函数spl_autoload_register()用法和__autoload()介绍
非常好用的两个PHP函数 serialize()和unserialize()
通过PHP修改Linux或Unix口令的方法分享
PHP中创建空文件的代码[file_put_contents vs touch]
fgetcvs在linux的问题
Uncaught exception com_exception with message Failed to create COM object
比file_get_contents稳定的curl_get_contents分享
PHP写UltraEdit插件脚本实现方法
如何使用Linux的Crontab定时执行PHP脚本的方法
PHP循环语句笔记(foreach,list)
Array of country list in PHP with Zend Framework
php XMLWriter类的简单示例代码(RSS输出)
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
PHP安全技术之 实现php基本安全
PHP中文件上传的一个问题
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
PHP开发需要注意的安全问题
php中函数的形参与实参的问题说明
php数据库连接时容易出错的特殊符号问题
php visitFile()遍历指定文件夹函数
PHP中的integer类型使用分析
PHP下操作Linux消息队列完成进程间通信的方法
UCenter中的一个可逆加密函数authcode函数代码
php将会员数据导入到ucenter的代码
php set_magic_quotes_runtime() 函数过时解决方法
PHP 数组遍历方法大全(foreach,list,each)
PHP XML error parsing SOAP payload on line 1
PHP zlib扩展实现页面GZIP压缩输出
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
php set_time_limit(0) 设置程序执行时间的函数
PHP similar_text 字符串的相似性比较函数
Fatal error: Call to undefined function curl_init()解决方法
Blitz templates 最快的PHP模板引擎
PHP调用Twitter的RSS的实现代码
©2014-2024 dbsqp.com