2010-06-05 4 views
0

처음에는 뷰어 전체 소스 코드를 추가했습니다. 그러나 그것은 약간의 형식 문제를 가지고 있고 모든 코드는 HTML 형식으로 엉망이되었습니다. 그래서 지금 나는 단계적으로 묻고있다. 1) MySQL 데이터베이스에 이미지 파일을 업로드했습니다. (오류가 없으며 성공적으로로드되었습니다.) 2) MySQL 데이터베이스에서 브라우저로 다시 가져옵니다. 또한 문제가 없습니다 (일부 조건에서) a) HTML 태그 전에 인쇄 할 경우 인쇄가 잘됩니다. b) 브라우저에서 이미지를 인쇄 한 후에 기본 HTML 디자인을 볼 수 없습니다. c) html 태그 안에 인쇄 할 경우. 일부 특수 문자와 숫자, 즉 쿼리를 실행하면 phpmyadmin에서 볼 수있는 값을 표시합니다 (pix에서 이미지 선택)이미지 업로드 및 데이터베이스에서 돌아 가기

그렇다면 MySql 데이터베이스에서 이미지를 가져 와서 이미지를 인쇄 할 수 있습니까? 또는이 데이터베이스 저장된 이미지를 MySQL에서 실제 이미지로 변환하여 하드 디스크에 저장하고보고 편집 할 수 있습니까?

+0

첫번째 HTML을 알아보세요. HTML로 이미지를 처리하는 방법 –

+1

@Col Shrapnel : 귀하의 회신은 명백합니다. 전에 본 것은 뭐니 뭐니해도 정말 역겨운 데. 그리고 이해하기가 매우 어려웠습니다. 이번에는 내가 원하는 것을 이해할 수 있기를 바랍니다. 그리고 HTML에 대해 알고 있습니다. 이미지 처리 방법을 알고 있습니다. 그러나 이것은 약간 다릅니다 (PHP를 아는 경우). –

+0

그것이 문제입니다. 다른 점이 없다. 그리고 당신은 그 사실을 모릅니다. 당신은 PHP가 작동하는 곳과 PHP 스크립트의 결과를 알지 못합니다. 그럼에도 불구하고, 데이터베이스에 이미지를 저장하려고 시도하고 있는데, 이는 나쁜 습관입니다. –

답변

2

여기에서 근본적인 실수를 저지르고 있습니다. 이미지 리소스는 항상 포함 된 페이지의 HTML 소스 코드가 아닌 별도의 파일에 저장되고 요청됩니다.

그런 별도의 파일 이름은 getimage.php 일 수 있습니다.

데이터베이스 (예 : ID가 890 인 레코드)에서 이미지 데이터를 가져 와서 예를 들어 출력합니다. 그래서 : HTML 페이지에서

... code to fetch the image .... 

header("Content-type: image/jpeg"); // or image/gif, image/png.... 

echo $imageData; 

, 당신이 image data directly in the HTML source을 가지고있는 이론적 가능성이 있지만, 당신이 원하는 게 아니에요

<img src="getimage.php?id=890"> 

사용하여 포함 할 것이다.

+0

귀하의 제안은 너무 훌륭하고 받아 들일 수 있습니다. 나는 시도했지만 여전히 문제가있다. 이메일 ID를 알려주시겠습니까? 그래서 나는 그 파일을 당신에게 보낼 것이고 당신은 그 파일을 변경할 것입니다. 희망 사항이 있으시면 가치있는 제안을위한 고맙습니다. –

+0

@Anup 죄송합니다. 여기에 보낼 수있는 것보다 시간이 없습니다. 후속 질문이 있거나 새로운 질문을하거나 현재 의견에 덧글/수정을 추가하면 다른 사람이 반드시 답을 제시합니다. –

0

대답은 간단합니다.
데이터베이스에 이미지를 저장하지 마십시오.
디스크에 저장하십시오.

이렇게하면 이러한 모든 문제가 해결됩니다.

-1

다른 답변과 마찬가지로 가장 좋은 해결책은 이미지를 HTML 소스 코드에서 분리하는 것입니다.

즉, 이미지가 페이지의 일부가되어야하며 Internet Explorer를 사용하지 않는 경우 페이지에 이미지를 포함시킬 수 있습니다.

그것으로 (예를 들어이 PNG 인)와 같은 단순해야한다 : 나는 주위를하지 않는 한 나는, IE8에 대해 잘 모르겠어요 (비 IE 브라우저에서

<img src="data:<?php echo $mimeType ?>;base64,<?php echo chunk_split(base64_encode($imageData)); ?>" /> 

이 유일한 작품 그 순간 테스트).

MIME 형식을 올바르게 입력했는지 확인하십시오 (예 : png의 경우 image/png).

는 조금 더 많은 정보 : http://www.greywyvern.com/code/php/binary2base64