PHP로 BLOB 데이터를 어떻게 표시합니까? DB에 BLOB를 입력했는데 어떻게 가져올 수 있습니까? 모든 예는 훌륭합니다.BLOB 데이터를 PHP로 표시 하시겠습니까?
답변
간단한 예 :
$blob_data = "something you've got from BLOB field";
header('Content-type: image/jpeg'); // e.g. if it's JPEG image
echo $blob_data;
이 질문은 이미 다른 질문을 제기했으며 다른 곳에서 답변되었습니다. 어제부터이 질문에 대한 내 대답을 자유롭게 살펴보십시오. Image from MySQL database not printing
이 질문은 중복되지 않으며 질문이 다른 경우 알려주십시오.
건배!
나는 이것을 중복을 닫습니다 투표를 생각하지만, 제목이 꽤 좋은, 그리고 다른 질문을 통해보고, 나는 일반적인 질문에 대한 완전한 해답을 찾을 수 없습니다. 이런 종류의 질문은 HTTP의 기초에 대한 이해가 부족하다는 것을 배반하기 때문에 나는이 긴 대답을 대신 써 뒀다. 나는 약간의 글을 썼다. 그러나 다음을 이해하는 사람은 아마 이것과 같은 질문을 할 필요가 없을 것이다. 그렇지 않으면 더 구체적인 질문을 할 수 있습니다.
첫 번째 - 이미지 또는 다른 파일을 데이터베이스에 저장하는 경우 아키텍처를 중단하고 다시 고려하십시오. RDBMS는 BLOB를 처리하기 위해 실제로 최적화되지 않았습니다. 파일을 처리하도록 특별히 조정 된 여러 (비 관계형) 데이터베이스가 있습니다. 그들은 파일 시스템이라고 불리며, 이것들은 정말 훌륭합니다. 적어도 정규 파일이 RDBMS에 갇혀있는 것을 발견 한 시간의 95 % 이상이 무의미했습니다. 따라서 먼저 이 데이터베이스에 파일 데이터를 저장하고 데이터베이스에 파일 데이터를 저장하고 데이터베이스에 작은 데이터를 저장해야한다고 가정하면 (가끔은 파일 시스템을 구성 할 수 있으므로 고유 ID가 필요합니다)이 아닙니다.
따라서 데이터베이스에 BLOB를 저장 하시겠습니까?
이 경우, HTTP가 작동하는 방식을 이해해야합니다. 너무 많은 세부 사항에 익숙해지지 않으면, 일부 클라이언트가 URL을 요청할 때마다 (HTTP 요청을 작성) 서버는 HTTP 응답으로 응답합니다. HTTP 응답에는 머리글과 데이터라는 두 가지 주요 부분이 있습니다. 두 부분은 두 개의 연속 된 개행으로 구분됩니다.
Name: value
와 줄 바꿈으로 구분됩니다
헤더, 와이어에 같이 간단한 일반 텍스트 키/값 쌍입니다.
데이터는 기본적으로 BLOB입니다. 그것은 단지 데이터 일뿐입니다. 데이터가 해석되는 방식은 클라이언트가 제공하는 Content-Type 헤더의 값에 따라 결정됩니다. Content-Type 헤더는 데이터 섹션에 포함 된 데이터의 Internet Media Type을 지정합니다.
이것에 대해 마법 거기에 아무것도가
작업을 참조하십시오. 일반 HTML 페이지의 경우 전체 응답은 사람이 읽을 수 있습니다.다음보십시오 :
GET/
(귀국일 다음) :
Trying 74.125.113.104...
Connected to google.com.
Escape character is '^]'.
지금 입력 :
$ telnet google.com 80 # connect go google.com on port 80
당신은 같은 것을 볼 수 있습니다.
아주 간단한 HTTP 요청을 만들었습니다! 아마 당신은 응답을 받았습니다. 응답을보십시오. 모든 헤더가 표시되고 빈 줄이 표시되며 그 다음에 Google 홈 페이지의 HTML 코드가옵니다.
그래서요?
이제 웹 서버가 무엇인지 알 수 있습니다. 이들은 요청을 받고 (예 : GET /
) 응답을 반환합니다 (머리글 뒤에 빈 줄 (두 개의 연속 된 줄 바꿈) 다음에 데이터가 오는).
웹 응용 프로그램이 정말 당신이 쓰는 모든 그 코드는 요청이 무엇이든 소요 단지 사용자 정의 웹 서버
이며, HTTP 응답으로 변환 :
이제, 그 실현하는 시간 . 그래서 당신은 근본적으로 아파치 나 IIS, nginx, lighty 등등의 특수한 버전을 만들고 있습니다.
웹 서버가 일반적으로 요청을 처리하는 기본 방법은 디렉토리 (문서 루트)에서 파일을 찾고, 보내려는 헤더를 파악한 다음 해당 헤더를 보낸 다음 파일 내용
그러나 웹 서버가 파일 시스템의 모든 파일을 마술처럼 처리하지만 RDBMS의 일부 BLOB는 완전히 인식하지 못합니다. 그래서 너 스스로해야 해. (만약
<?php
$result = query('select name, blobdata from table where id = 5');
$row = fetch_assoc($result);
header('Content-Type: image/jpeg');
echo $row['blobdata'];
?>
: 당신이 당신의 BLOB의 내용을 알고있는 경우
, 말, 같은 테이블에서 "이름"열을 기반으로 이름을 지정해야합니다 JPG 이미지를, 당신은 뭔가를 할 수 브라우저가 파일을 표시하는 대신 다운로드해야한다는 사실을 알고 싶다면 다음과 같은 추가 헤더를 사용할 수 있습니다 :
PHP는 머리말을 설정하는 header() 함수를 제공 할만큼 똑똑하고, 먼저 보내지고 (데이터를 분리하여). 헤더 설정이 끝나면 데이터를 전송하기 만하면됩니다.
헤더가 클라이언트에게 데이터 페이로드 처리 방법에 대한 충분한 정보를 제공하는 한 모든 것이 hunkey-dorey입니다.
만세
- 1. ColdFusion에서 BLOB 객체 표시
- 2. BLOB 이미지 데이터를 QPixmap에로드하십시오.
- 3. BLOB 데이터를 이미지로 변환
- 4. XML 데이터를 PHP로 정렬/그룹화 하시겠습니까?
- 5. PHP로 html의 일부분을 숨기고 표시 하시겠습니까?
- 6. 데이터를 매트릭스 형식으로 표시 하시겠습니까?
- 7. TextBox에 데이터를 Object로 표시 하시겠습니까?
- 8. 플렉스에서 DB blob 유형 표시
- 9. MySQL, C++ : BLOB 데이터를 읽으려면 Blob 크기가 필요합니다.
- 10. PHP로 데이터를 XML로 출력
- 11. exif 데이터를 PHP로 작성
- 12. ListView : 데이터를 그룹으로 나누어 표시 하시겠습니까?
- 13. PHP로 XML 데이터 표시
- 14. C를 PHP로 변환 하시겠습니까?
- 15. PDF PHP로 편집 하시겠습니까?
- 16. 두 개의 다른 변수를 사용하여 이미지를 PHP로 표시 하시겠습니까?
- 17. PHP MySql 쿼리를 배우는 방법, 결과를 PHP로 표시 하시겠습니까?
- 18. 데이터를 표시 할 iFrame 만들기
- 19. SQLite 데이터베이스에서 Blob 데이터를 파일로 저장
- 20. jQuery로 Azure Blob 저장소의 JSON 데이터를 쿼리하십시오.
- 21. CLOB/BLOB 데이터를 얻기위한 jdbc 성능 테스트
- 22. Tcl을 사용하여 Sqlite에 BLOB 데이터를 저장하는 방법
- 23. 레일 : 데이터베이스의 blob 필드에서 이미지 표시
- 24. PHP로 MySQL 테이블의 데이터를 지우시겠습니까?
- 25. PHP로 XML 데이터를 가져옵니다. 갇혔어요?
- 26. Ext Store 데이터를 PHP로 전달
- 27. JavaScript에서 PHP로 데이터를 보내려면 어떻게해야합니까?
- 28. IOS가 php로 돌아와서 데이터를 반환합니다.
- 29. PHP로 이미지를 가져와 html로 표시
- 30. msg를 PHP로 사용하여 메시지 표시
죄송합니다, BLOB 님, 그림 같은 의미입니다. –