PHP 教程之如何使用BLOB存取圖片資訊執行個體_PHP教程

來源:互聯網
上載者:User

BLOB是一種MySQL資料類型,稱為二進位大對象。正如它的名字它是用來儲存類似MYSQL二進位和VARBINARY類型的、大量的字串資料。



MySQL BLOB分類



MySQL BLOB類型 最大儲存長度(位元組)
TINYBLOB (1)(2 ^ 8)
blob ((2 ^ 16)1)
MEDIUMBLOB ((2 ^ 24)1)

LONGBLOB ((2 ^ 32)1)


在這篇教程中,我們學習如何使用 PHP插入和讀取MySQL BLOB欄位。

(PS:T不錯的 PHP Q扣峮:276167802,驗證:csl)

首先,我們需要建立一個MySQL表與一個BLOB欄位。

CREATE TABLE IF NOT EXISTS `output_images` (  `imageId` tinyint(3) NOT NULL AUTO_INCREMENT,  `imageType` varchar(25) NOT NULL DEFAULT '',  `imageData` mediumblob NOT NULL,  PRIMARY KEY (`imageId`))


插入資料


將圖片資訊插入MySQL BLOB欄位中。


1、上傳影像檔.


2、擷取映像屬性(映像資料、映像類型等等。)


3、影像檔插入BLOB。


PHP實現指令碼:


imageUpload.php

 0) {if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {mysql_connect("localhost", "root", "");mysql_select_db ("phppot_examples");$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);$sql = "INSERT INTO output_images(imageType ,imageData)VALUES('{$imageProperties['mime']}', '{$imgData}')";$current_id = mysql_query($sql) or die("Error: Problem on Image Insert
" .mysql_error());if(isset($current_id)) {header("Location: listImages.php");}}}?>Upload Image to MySQL BLOB


執行這個指令碼後上傳表單將顯示如下:




提交表單,PHP擷取內容映像的檔案並將其作為位元據儲存到MySQL BLOB列。



顯示圖片


在瀏覽器上顯示BLOB映像,我們必須:


1、從MySQL BLOB獲得映像資料和類型


2、將類型設定為映像(image/jpg, image/gif, …)使用PHP header()函數。


3、輸出映像內容。


imageView.php

Error: Problem on Retrieving Image BLOB
". mysql_error());$row = mysql_fetch_array($result);header("Content-type: " . $row["imageType"]);echo $row["imageData"];}mysql_close($conn);?>


上面的PHP代碼將顯示MySQL BLOB儲存的圖片。從HTML映像標籤我們可以參考這個PHP檔案與相應image_id作為參數。例如:


" />


完成代碼如下:


listImages.php


List BLOB Images" />

以上是本文關於PHP 教程之如何使用BLOB存取圖片資訊的執行個體,希望本文對廣大php開發人員有所協助,感謝閱讀本文。

http://www.bkjia.com/PHPjc/678029.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/678029.htmlTechArticleBLOB是一種 MySQL 資料類型,稱為二進位大對象。正如它的名字它是用來儲存類MYSQL二進位和VARBINARY類型的、大量的字串資料。 MySQL BLOB分類...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.