服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - 小文件php+SQLite存储方案

小文件php+SQLite存储方案

2019-11-08 13:36php教程网 PHP教程

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

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

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

复制代码代码如下:


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

//获取文件2进制流 
$filename = "//www.zzvips.com/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.zzvips.com/info.php" width="22" height="30" /> 
</body> 
</html> 

延伸 · 阅读

精彩推荐