mysql 데이터베이스에서 내 BLOB 이미지를 표시하려면 PHP 페이지가 필요합니다.
PHPmysql 데이터베이스에서 내 BLOB 이미지를 표시하려면 PHP 페이지가 필요합니다.
그래서 내 마지막 질문은 검색에서 내 techID를 표시하는 방법에 관한 질문이었습니다.
기술 ID를 통해 연결되는 내 서버의 두 부분을 참조하는 "세부 정보"페이지를 갖기 위해 노력하고 있습니다.
내 새로운 질문은 아직이 페이지에 있습니다. 에코 이미지도 추가했습니다. Blob을 사용하는 데 문제가 있고 이진 JPEG 데이터가 아닌 내 이미지를 표시하는 데 문제가 있습니다. 나는 이것의 또 다른 인스턴스를 찾으려고했지만 내 오류를 수정하는 것을 찾을 수 없습니다.
//Header ('Content-type: image/jpeg')
echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src='.$row2['image'].' width="290" height="290">' . "</dd>";
과
$query_Recordset2 = "SELECT * FROM technician WHERE techID=" . $row1["techID"] ;
$Rs2 = mysql_query($query_Recordset2) or die(mysql_error());
내가 마지막으로했던 질문 (지금까지 주어진 수정본을 포함하여)에서 지금까지 수정 한 내용 만 변경된 것입니까?
내가 이해하지 못하는 것은 어디에서 어떻게 'Content-type : image / jpeg'를 넣어서 내 페이지가 링크되는 이미지를 인식하게하는지이다. 그것은 MIME TYPE image / jpeg이다.
내 페이지에서 볼 수있는 것은
분명히 나는 중간 크기의 덩어리를 삭제하여 엄청난 규모는 아니었다. infront에 나타나는 작은 "깨진 이미지"상자가 있습니다. 오른쪽 버튼을 클릭하고 "새 창에서 이미지 열기"를 선택하면 URL은 단순히 Content-type입니다 : 또는 URL http : /와 함께 금지 된 액세스 페이지가 나타납니다. / localhost / Sim5Server / Pages / % EF % BF % BD % EF % BF % BD % EF % BF % BD % EF % BF % BD % EF % BF % BD % 10JFIF % EF % BF % BD % 01 % 02 % EF % BF % BD % EF % BF % BDd % EF % BF % BDd % EF % BF % BD % EF % BF % BD % EF % BF % BD % EF % BF % BD % EF % BF % BDC % EF % BF % BD
나는 그것이 인터넷을위한 링크가 아니기 때문에 그 URL에 공간을 넣었다.
나는 BLOB 타입을 단지 64KB 이미지보다 작게 사용했다.
해결법
-
==============================
1.현재의 경우 두 가지 선행 옵션이 있습니다.
현재의 경우 두 가지 선행 옵션이 있습니다.
첫 번째와 이렇게 많은 이미지가있는 경우 권장하지 않는 것은 인라인 base64 인코딩을 사용하는 것입니다. 이 작업은 다음과 같이 수행됩니다.
<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />
기존 코드를 사용하여 복사 / 붙여 넣기 버전 :
echo '<dt><strong>Technician Image:</strong></dt><dd>' . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">' . '</dd>';
두 번째 방법은 데이터베이스의 이미지 ID를 쿼리 문자열 매개 변수로 사용하여 이미지를 출력하는 "이미지"PHP 파일을 만드는 것입니다. 따라서 HTML은 다음과 같습니다.
<img src="image.php?id=<?php echo $image_id; ?>" />
그리고 PHP 페이지는 다음과 비슷한 모습을 보입니다 :
<?php $id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); // your code to fetch the image header('Content-Type: image/jpeg'); echo $image; ?>
-
==============================
2.문서와 동일한 페이지에서 이미지를 출력 할 수있는 유일한 방법은 데이터 URI를 사용하는 것입니다.
문서와 동일한 페이지에서 이미지를 출력 할 수있는 유일한 방법은 데이터 URI를 사용하는 것입니다.
echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src="data:image/jpeg;base64,'. base64_encode($row2['image']). '" width="290" height="290">' . "</dd>";
-
==============================
3.올바른 코드는 아래와 같아야합니다. stream_get_contents ()를 사용하여 리소스 ID를 string으로 변경해야합니다.
올바른 코드는 아래와 같아야합니다. stream_get_contents ()를 사용하여 리소스 ID를 string으로 변경해야합니다.
<img src="data:image/jpeg;base64,<?php echo base64_encode(stream_get_contents($row2['image'])); ?>" />
-
==============================
4.최선의 해결책은 데이터베이스 경로 대신 이미지 경로를 저장하는 것입니다. 전체 이미지를 BLOB로 저장합니다. 그런 다음 웹 페이지에 이미지를 표시하기 위해 img 태그의 src 속성을 데이터베이스에 저장된 경로에 매핑합니다.
최선의 해결책은 데이터베이스 경로 대신 이미지 경로를 저장하는 것입니다. 전체 이미지를 BLOB로 저장합니다. 그런 다음 웹 페이지에 이미지를 표시하기 위해 img 태그의 src 속성을 데이터베이스에 저장된 경로에 매핑합니다.
from https://stackoverflow.com/questions/13225726/i-need-my-php-page-to-show-my-blob-image-from-mysql-database by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP, 0으로 나누는 방법은? (0) | 2018.09.19 |
---|---|
JavaScript 변수를 PHP 변수로 사용하려면 어떻게해야합니까? [복제] (0) | 2018.09.18 |
Mcrypt를 OpenSSL로 대체하십시오. (0) | 2018.09.18 |
속성 [title]이 (가)이 컬렉션 인스턴스에 없습니다. (0) | 2018.09.18 |
PHP 메일 ()을 통해 보낸 메일이 스팸 메일을 보내지 않도록하려면 어떻게합니까? (0) | 2018.09.18 |