php中怎樣把圖片保存到資料庫,php生成圖片保存到伺服器

本文目錄一覽:

php如何上傳圖片到資料庫

把圖片保存到伺服器,拼接圖片地址

保存圖片地址到資料庫

讀取圖片地址就能訪問到圖片了。

怎樣用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” “”  

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  

  pinput 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 ‘pimg 

src=”upload_image_todb.php?action=showid=’.$val[‘id’].’t=’.time().'”

 width=”150″/p’;  

    }  

?  

/body  

/html  

?php  

}  

?

程序運行截圖和資料庫截圖:

php圖片保存到資料庫

1.圖片轉換 將上傳的圖片讀取到一個字元串中,再用base64對數據進行編碼 $img =base64_encode(file_get_contents($_FILES[‘file_head’][‘tmp…

2.顯示圖片 imgsrc=”{$base64String}” 這樣就能把圖片顯示出來了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/185384.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 12:18
下一篇 2024-11-26 12:18

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 用Python繪製酷炫圖片

    在本篇文章中,我們將展示如何使用Python繪製酷炫的圖片。 一、安裝Python繪圖庫 在使用Python繪製圖片之前,我們需要先安裝Python繪圖庫。Python有很多繪圖庫…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • 使用axios獲取返回圖片

    使用axios獲取返回圖片是Web開發中很常見的需求。本文將介紹如何使用axios獲取返回圖片,並從多個方面進行詳細闡述。 一、安裝axios 使用axios獲取返回圖片前,首先需…

    編程 2025-04-29
  • Python 圖片轉表格

    本文將詳細介紹如何使用Python將圖片轉為表格。大家平時在處理一些資料的時候難免會遇到圖片轉表格的需求。比如從PDF文檔中提取表格等場景。當然,這個功能也可以通過手動複製、粘貼,…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29

發表回復

登錄後才能評論