Table of Contents
BLOB介绍
mysql BLOB类型
创建数据库
PHP文件转二进制代码
HTML代码
读取二进制图片
php完整代码
Home Backend Development PHP Tutorial PHP使用BLOB存取图片信息实例

PHP使用BLOB存取图片信息实例

Jun 23, 2016 pm 01:35 PM

  • 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,这几个类型之间的唯一区别是在存储文件的最大大小上不同。
    Copy after login
    类型 大小(单位:字节)
    TinyBlob 最大255
    Blob 最大65K
    MediumBlob 最大16M
    LongBlob 最大4G
    linux修改etc/my.cnf[mysqld]max_allowed_packet = 16M //不同于[mysqldump]下的max_allowed_packet
    Copy after login

    注意: 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`) )
    Copy after login

    PHP文件转二进制代码

    数据库读取更新插入都是一样的,就不写了,这里只写PHP上传图片转二进制的关键代码

    <?php  if(count($_FILES) > 0) {      if(is_uploaded_file($_FILES['upimg']['tmp_name'])) {    // 转成二进制    $imgBlob =addslashes(file_get_contents($_FILES['upimg']['tmp_name']));  }  
    Copy after login

    HTML代码

    上传文件表单必须定义enctype

    enctype="multipart/form-data" 
    Copy after login

    完整代码

            上传文件到Blob        
    Copy after login

    读取二进制图片

    在浏览器上显示BLOB图像,我们必须:
    1、从MySQL BLOB获得图像数据和类型
    2、将类型设置为图像(image/jpg, image/gif, …)使用PHP header()函数。
    3、输出图像内容。

    php完整代码

    文件名:imageView.php

    <?php  $conn = mysql_connect("localhost", "root", "");  mysql_select_db("myimg") or die(mysql_error());  if(isset($_GET['image_id'])) {     $sql = "SELECT imgtype,imgblob FROM myimg WHERE imgid=".$_GET['imgid'];     $result = mysql_query("$sql") or die("<b>Error:</b>SQL语句错误<br/>".mysql_error());     $row = mysql_fetch_array($result);     header("Content-type: " . $row["imageType"]);     echo $row["imageData"];  }  mysql_close($conn);  ?>
    Copy after login

    HTML代码

    <img  src="imageView.php?image_id=<?php echo $row["imageId"]; ? alt="PHP使用BLOB存取图片信息实例" >" />
    Copy after login

    感谢浏览收看本文,希望可以对php开发者有帮助。
    PHP BloB完整实例参考网络文章
    ??

    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
    2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    Repo: How To Revive Teammates
    4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: How To Get Giant Seeds
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    11 Best PHP URL Shortener Scripts (Free and Premium) 11 Best PHP URL Shortener Scripts (Free and Premium) Mar 03, 2025 am 10:49 AM

    Long URLs, often cluttered with keywords and tracking parameters, can deter visitors. A URL shortening script offers a solution, creating concise links ideal for social media and other platforms. These scripts are valuable for individual websites a

    Introduction to the Instagram API Introduction to the Instagram API Mar 02, 2025 am 09:32 AM

    Following its high-profile acquisition by Facebook in 2012, Instagram adopted two sets of APIs for third-party use. These are the Instagram Graph API and the Instagram Basic Display API.As a developer building an app that requires information from a

    Working with Flash Session Data in Laravel Working with Flash Session Data in Laravel Mar 12, 2025 pm 05:08 PM

    Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

    Build a React App With a Laravel Back End: Part 2, React Build a React App With a Laravel Back End: Part 2, React Mar 04, 2025 am 09:33 AM

    This is the second and final part of the series on building a React application with a Laravel back-end. In the first part of the series, we created a RESTful API using Laravel for a basic product-listing application. In this tutorial, we will be dev

    Simplified HTTP Response Mocking in Laravel Tests Simplified HTTP Response Mocking in Laravel Tests Mar 12, 2025 pm 05:09 PM

    Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

    cURL in PHP: How to Use the PHP cURL Extension in REST APIs cURL in PHP: How to Use the PHP cURL Extension in REST APIs Mar 14, 2025 am 11:42 AM

    The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

    12 Best PHP Chat Scripts on CodeCanyon 12 Best PHP Chat Scripts on CodeCanyon Mar 13, 2025 pm 12:08 PM

    Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

    Announcement of 2025 PHP Situation Survey Announcement of 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

    The 2025 PHP Landscape Survey investigates current PHP development trends. It explores framework usage, deployment methods, and challenges, aiming to provide insights for developers and businesses. The survey anticipates growth in modern PHP versio

    See all articles