# 이미지 파일크기 줄이기
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.
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.
Variant | Char for index 62 | Char for index 63 | pad char | Fixed encoded line-length | Maximum encoded line length | Line separators | Characters outside alphabet | Line checksum |
---|
Original Base64 for Privacy-Enhanced Mail (PEM) (RFC 1421, deprecated) | + | / | = (mandatory) | Yes (except last line) | 64 | CR+LF | Forbidden | (none) |
---|
Base64 transfer encoding for MIME (RFC 2045) | + | / | = (mandatory) | No (variable) | 76 | CR+LF | Accepted (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) | 76 | CR+LF | Forbidden | 24-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) | - | _ | None | No (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