国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php實現上傳圖片保存到數據庫的方法

2024-05-04 21:54:45
字體:
來源:轉載
供稿:網友

 這篇文章主要介紹了php實現上傳圖片保存到數據庫的方法,可通過將圖片保存在數據庫實現多臺服務器共享文件的功能,非常具有實用價值,需要的朋友可以參考下

  

php實現上傳圖片保存到數據庫的方法。分享給大家供大家參考。具體分析如下:

php 上傳圖片,一般都使用move_uploaded_file方法保存在服務器上。但如果一個網站有多臺服務器,就需要把圖片發布到所有的服務器上才能正常使用(使用圖片服務器的除外)
如果把圖片數據保存到數據庫中,多臺服務器間可以實現文件共享,節省空間。

首先圖片文件是二進制數據,所以需要把二進制數據保存在mysql數據庫。
mysql數據庫提供了BLOB類型用于存儲大量數據,BLOB是一個二進制對象,能容納不同大小的數據。

BLOB類型有以下四種,除存儲的最大信息量不同外,其他都是一樣的。可根據需要使用不同的類型。

TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

數據表photo,用于保存圖片數據,結構如下:

代碼如下:CREATE TABLE `photo` (
`id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(100) NOT NULL,
`binarydata` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

upload_image_todb.php:

代碼如下:<?php
// 連接數據庫
$conn=@mysql_connect("localhost","root","") or die(mysql_error());
@mysql_select_db('demo',$conn) or die(mysql_error());

 

// 判斷action
$action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';

// 上傳圖片
if($action=='add'){
$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type = $_FILES['photo']['type'];
$sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')";
@mysql_query($sqlstr) or die(mysql_error());
header('location:upload_image_todb.php');
exit();
// 顯示圖片
}elseif($action=='show'){
$id = isset($_GET['id'])? intval($_GET['id']) : 0;
$sqlstr = "select * from photo where id=$id";
$query = mysql_query($sqlstr) or die(mysql_error());
$thread = mysql_fetch_assoc($query);
if($thread){
header('content-type:'.$thread['type']);
echo $thread['binarydata'];
exit();
}
}else{
// 顯示圖片列表及上傳表單
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title> upload image to db demo </title>
</head>

<body>
<form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data">
<p>圖片:<input type="file" name="photo"></p>
<p><input type="hidden" name="action" value="add"><input type="submit" name="b1" value="提交"></p>
</form>

<?php
$sqlstr = "select * from photo order by id desc";
$query = mysql_query($sqlstr) or die(mysql_error());
$result = array();
while($thread=mysql_fetch_assoc($query)){
$result[] = $thread;
}
foreach($result as $val){
echo '<p><img src="upload_image_todb.php?action=show&id='.$val['id'].'&t='.time().'" width="150"></p>';
}
?>
</body>
</html>
<?php
}
?>

 

php實現上傳圖片保存到數據庫的方法

php實現上傳圖片保存到數據庫的方法

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威信县| 黑山县| 本溪市| 明星| 阜宁县| 会理县| 龙南县| 揭西县| 永寿县| 弋阳县| 莱阳市| 绥滨县| 炉霍县| 门头沟区| 连平县| 鄂托克前旗| 浦江县| 小金县| 卫辉市| 永泰县| 刚察县| 长乐市| 临沧市| 延津县| 柳河县| 仲巴县| 依兰县| 佛学| 县级市| 金平| 施甸县| 溧水县| 桑植县| 荥经县| 浦江县| 迭部县| 阜新市| 台北市| 习水县| 桐乡市| 漳平市|