2014-09-10 9 views
0

좋아, 여기에 내가하고 싶은 일이 있습니다 ... 지정된 폴더에 그림을 업로드 할 수 있고 경로가 데이터베이스에 삽입됩니다 (그 부분 done done) 그런 다음 데이터베이스에서 이미지를 가져 와서 index.php 페이지에 표시해야합니다. 나는 그것이 간단한 과정이라는 것을 알고 있지만 뭔가 빠져 있어야만한다. (grrr) 나는 단지 index.php 페이지에 이미지를 표시하는 것처럼 보이지 않는다. getimage.php에 파일 위치를 표시하고 이미지를 에코 할 수있다. ,하지만 img src 위치를 참조하고 index.php에 표시 할 수 없습니다.데이터베이스에서 이미지 파일 위치 가져 오기

다음은 index.php 페이지의 코드입니다. getimage에서 이미지를 가져올 수 있기를 바랍니다. .php 페이지에 이미지를 표시합니다. 데이터베이스에 설정된 슬롯이있을 것으로 3 개 장의 사진이있는 인덱스 페이지에서 :

<?php 
    include("connect.php"); 
    $id = mysql_real_escape_string($_GET['id']); 
    $sql = mysql_query("SELECT * FROM pictures WHERE p_id='$id'"); 
    while($row = mysql_fetch_array($sql)) 
    { 
    header("content-type :image/jpeg"); 
    $image = $row['image']; 
    echo $image; 
    } 
?> 

그래서이 스크립트를 할 것입니다 것은 다음과 같습니다

<a href="gallery.html"> 
<img src="getimage.php?id=18" alt="" width="200" height="133" /></a> 

는 getimage.php 페이지입니다 그들을 위해. 사용자는 다른 사진을 업로드하여이 3 개의 사진을 언제든지 변경할 수 있습니다 (업로드 스크립트는 이전 사진을 새 사진으로 업데이트합니다). 사진은 ID로 표시됩니다.

각 쿼리마다 3 개의 쿼리를 실행할 수 있지만 더 쉬운 방법이 없다고 생각했습니다.

도움을 주신 데 대해 감사드립니다 ... 감사합니다.

+0

왜 한 행에 루프를 사용하고 있습니까? – Eliel

+0

get file path에 대한 함수를 만들면 새 파일이 아닙니다. –

답변

0

당신의 코드가 절대적으로 올바른 해결되지 않은 (그래, 난 SQL 주입의 인식뿐만 아니라 중단이다). 행을 다음으로 변경해야합니다.

echo '<img src="data:image/jpeg;base64,' 
     .base64_encode($image['file_data']).'" width=300 height=200/>"; 
관련 문제