개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 설명
  • 코드
  • CODE
  • Java
  • 우분투
  • install
  • 설치
  • 라즈베리 파이
  • 예제
  • 소스
  • 방법
  • 에러
  • Example
  • ubuntu
  • Python
  • 개발
  • C
  • GIT
  • error
  • C++

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

소프트웨어/PHP

이미지 blob으로 저장하고 출력하기

2017. 11. 4. 21:51


# 이미지 파일크기 줄이기

http://blog.habonyphp.com/entry/php-base64-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%EC%9E%91%EC%9D%80-%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EC%97%AC-MySql%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0



# show image from mysql with php

Try Like this.

For Inserting into DB

$db = mysqli_connect("localhost","root","","DbName"); //keep your db name
$image = addslashes(file_get_contents($_FILES['images']['tmp_name']));
//you keep your column name setting for insertion. I keep image type Blob.
$query = "INSERT INTO products (id,image) VALUES('','$image')";  
$qry = mysqli_query($db, $query);

For Accessing image From Blob

$db = mysqli_connect("localhost","root","","DbName"); //keep your db name
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';

Hope It will help you.

Thanks.

https://stackoverflow.com/questions/20556773/php-display-image-blob-from-mysql



base64_encode 이란 무엇인가?

1) base64_encode — 데이터를 MIME base64로 인코드

http://php.net/manual/kr/function.base64-encode.php


네트워크를 통해 전송하려는 일부 바이너리 데이터가있는 경우 일반적으로 비트와 바이트를 원시 형식으로 스트리밍하여 스트리밍하지 않습니다. 왜? 일부 미디어는 스트리밍 텍스트로 제작되기 때문에 일부 프로토콜은 바이너리 데이터를 제어 문자 (모뎀 등)로 해석하거나 기본 프로토콜이 사용자가 특수 문자 조합을 입력했다고 생각할 수 있기 때문에 바이너리 데이터가 엉망이 될 수 있습니다 (FTP가 행을 어떻게 변환하는지 결말). 따라서이 문제를 해결하기 위해 사람들은 이진 데이터를 문자로 인코딩합니다. Base64는 이러한 유형의 인코딩 중 하나입니다. 왜 64? 일반적으로 여러 문자 집합에있는 동일한 64자를 사용할 수 있기 때문에 데이터가 손상되지 않은 다른 쪽에서 끝나게 될 것이라는 사실을 합리적으로 확신 할 수 있습니다.

http://code.i-harness.com/ko/q/31307


1-2) MIME base64란?

인코딩 방식 중의 하나.

base64란 (2^6), 8bit의 값을 6bit의 값으로 변경하는 decoder/encoder를 의미하는데 그 인코딩 방식이 아래처럼 다양하다

Variants summary table[edit]

Implementations may have some constraints on the alphabet used for representing some bit patterns. This notably concerns the last two characters used in the index table for index 62 and 63, and the character used for padding (which may be mandatory in some protocols, or removed in others). The table below summarizes these known variants, and link to the subsections below.


VariantChar for index 62Char for index 63pad charFixed encoded line-lengthMaximum encoded line lengthLine separatorsCharacters outside alphabetLine checksum
Original Base64 for Privacy-Enhanced Mail (PEM) (RFC 1421, deprecated)+/= (mandatory)Yes (except last line)64CR+LFForbidden(none)
Base64 transfer encoding for MIME (RFC 2045)+/= (mandatory)No (variable)76CR+LFAccepted (discarded)(none)
Standard 'base64' encoding for RFC 3548 or RFC 4648+/= (mandatory unless specified by referencing document)No (unless specified by referencing document)None (unless specified by referencing document)None (unless specified by referencing document)Forbidden (unless specified by referencing document)(none)
'Radix-64' encoding for OpenPGP (RFC 4880)+/= (mandatory)No (variable)76CR+LFForbidden24-bit CRC (Radix-64-encoded, including one pad character)
Modified Base64 encoding for UTF-7 (RFC 1642, obsoleted)+/(none)No (variable)(none)(none)Forbidden(none)
Modified Base64 encoding for IMAP mailbox names (RFC 3501)+,(none)No (variable)(none)(none)Forbidden(none)
Standard 'base64url' with URL and Filename Safe Alphabet (RFC 4648 §5 'Table 2: The "URL and Filename safe" Base 64 Alphabet')-_= (optional if data length is known, otherwise must be percent-encoded in URL)No (variable)(application-dependent)(none)Forbidden(none)
Unpadded 'base64url' (eg. RFC7515)-_NoneNo (variable)(application-dependent)(none)Forbidden(none, or separate Luhn checksum in RFC 6920)
Non-standard URL-safe Modification of Base64 used in YUI Library (Y64)[6]._-No (variable)(application-dependent)(none)Forbidden(none)
Modified Base64 for XML name tokens (Nmtoken).-(none)No (variable)(XML parser-dependent)(none)Forbidden(none)
Modified Base64 for XML identifiers (Name)_:(none)No (variable)(XML parser-dependent)(none)Forbidden(none)
Modified Base64 for Program identifiers (variant 1, non standard)_-(none)No (variable)(language/system-dependent)(none)Forbidden(none)
Modified Base64 for Program identifiers (variant 2, non standard)._(none)No (variable)(language/system-dependent)(none)Forbidden(none)
Non-standard URL-safe Modification of Base64 used in Freenet~-=No (variable)(application-dependent)(none)Forbidden(none)


https://en.wikipedia.org/wiki/Base64


그리고 이걸 잘 설명하고 있는 블로그가 있다.

http://proneer.tistory.com/entry/Keyword-Base64-1



저작자표시 (새창열림)

'소프트웨어 > PHP' 카테고리의 다른 글

opensource gallery  (0) 2017.11.01
    '소프트웨어/PHP' 카테고리의 다른 글
    • opensource gallery
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바