PHP使用BLOB存取圖片資訊執行個體

來源:互聯網
上載者:User
  • PHP使用BLOB存取圖片資訊執行個體
  • BLOB介紹
  • mysql BLOB類型
  • 建立資料庫
  • PHP檔案轉二進位代碼
  • HTML代碼
  • 讀取二進位圖片
  • php完整代碼
  • HTML代碼
  • PHP使用BLOB存取圖片資訊執行個體

    BLOB介紹

    BLOB (binary large object),二進位大對象,是一個可以儲存二進位檔案的容器。在電腦中,BLOB常常是資料庫中用來儲存二進位檔案的欄位類型。BLOB是一個大檔案,典型的BLOB是一張圖片或一個音效檔,由於它們的尺寸,必須使用特殊的方式來處理(例如:上傳、下載或者存放到一個資料庫)。根據Eric Raymond的說法,處理BLOB的主要思想就是讓檔案處理器(如資料庫管理員)不去理會檔案是什麼,而是關心如何去處理它。但也有專家強調,這種處理大資料對象的方法是把雙刃劍,它有可能引發一些問題,如儲存的二進位檔案過大,會使資料庫的效能下降。在資料庫中存放體積較大的多媒體對象就是應用程式處理BLOB的典型例子。

    mysql BLOB類型

    MySQL中,BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個類型之間的唯一區別是在隱藏檔的最大大小上不同。
    類型 大小(單位:位元組)
    TinyBlob 最大255
    Blob 最大65K
    MediumBlob 最大16M
    LongBlob 最大4G
    linux修改etc/my.cnf[mysqld]max_allowed_packet = 16M //不同於[mysqldump]下的max_allowed_packet

    注意: blob是mysql資料庫保留字,請務必不要用於欄位名

    建立資料庫

    CREATE TABLE IF NOT EXISTS `myimg` ( `imgid` tinyint(3) NOT NULL AUTO_INCREMENT, `imgtype` varchar(25) NOT NULL DEFAULT '', `imgblob` mediumblob NOT NULL, PRIMARY KEY (`imgid`) )

    PHP檔案轉二進位代碼

    資料庫讀取更新插入都是一樣的,就不寫了,這裡唯寫PHP上傳圖片轉二進位的關鍵代碼

     0) {      if(is_uploaded_file($_FILES['upimg']['tmp_name'])) {    // 轉成二進位    $imgBlob =addslashes(file_get_contents($_FILES['upimg']['tmp_name']));  }  

    HTML代碼

    上傳檔案表單必須定義enctype

    enctype="multipart/form-data" 

    完整代碼

            上傳檔案到Blob                

    讀取二進位圖片

    在瀏覽器上顯示BLOB映像,我們必須:
    1、從MySQL BLOB獲得映像資料和類型
    2、將類型設定為映像(image/jpg, image/gif, …)使用PHP header()函數。
    3、輸出映像內容。

    php完整代碼

    檔案名稱:imageView.php

    Error:SQL語句錯誤
    ".mysql_error()); $row = mysql_fetch_array($result); header("Content-type: " . $row["imageType"]); echo $row["imageData"]; } mysql_close($conn); ?>

    HTML代碼

    " />

    感謝瀏覽收看本文,希望可以對php開發人員有協助。
    PHP 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.