2013-09-22 4 views
0

안녕하세요, PHP로 이미지를 표시 할 때 문제가 있습니다. 이미지는 mysql 테이블 'images'에 저장됩니다. 이 이미지를 가져와 restid에 따라 각각의 이미지를 표시해야하는 또 다른 테이블 '레스토랑'이 있습니다. 그러나 이미지를 가져 오거나 표시하지 않는 문제가 있습니다. 도와주세요!PHP에서 이미지를 표시 할 때 오류가 발생했습니다.

<?php 
require 'connect.inc.php'; 
$id = $_REQUEST['id']; 
$image = "SELECT * FROM images WHERE imgid = $id" ; 
$image = mysqli_query($con, $image); 
$image = mysqli_fetch_assoc($image); 
$image = $image['image']; 

header("Content-type: image/jpeg"); 
echo $image; 
?> 

connect.inc.php 데이터베이스에 연결하는 파일입니다

<?php 
require 'connect.inc.php'; 
?> 
<html> 
<head> 
<title>Uploading image</title> 
</head> 
<body> 
<?php 
echo "<form action='imageupload.php' method='POST' enctype='multipart/form-data'> 

Upload: <input type='file' name='image'><input type='submit' value='Upload' > 
</form>"; 

if(isset($_FILES['image']['tmp_name'])) 

{ 
    $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
    $image_name = addslashes($_FILES['image']['name']); 
    $image_size = getimagesize($_FILES['image']['tmp_name']); 
    if($image_size==FALSE) 
     echo "That's not an image"; 
    else 
    { 
     $query = "INSERT INTO images VALUES ('','$image_name','$image','22')"; 
     $result = mysqli_query($con, $query); 

     if(!$result) 
     { 
      echo "Problem uploading"; 

     } 
     else 
     { 
      echo "Image uploaded "; 
      $query2 = "SELECT * FROM images WHERE restid = '22'"; 
      $result2 = mysqli_query($con,$query2); 
      while($info = mysqli_fetch_array($result2)) 
      { 
       header("Content-type: image/jpeg"); 
       echo $info['image']; 
      } 
     } 
    } 
} 
else 
{ 
    "Please upload a file"; 
} 
?> 
</body></html> 

이 getimage.php (그것은 이미지를 가져와 표시합니다)입니다 : 이 imageupload.php입니다. 나는 다른 링크를 언급했지만 어떤 도움도 얻지 못했습니다. 도움을주십시오.

+0

왜 이미지를 표시하기 위해 헤더를 변경하지 않습니까? 이미지 이름에 이름 저장이 정상입니까? 왜 ''을 사용하지 않는 걸까요? –

+0

예 예 을 시도했지만 이미지의 암호화 된 형식 즉 텍스트 형식으로 표시됩니다. – user2758453

+0

이미지의 사용자 정의 이미지, 원래 이름 또는 base64를 저장합니까? –

답변

0

mysql에 이미지를 저장하면됩니다. 구문 오류가 없는지 확인하십시오. 일시적으로 Content-type 헤더를 제거하여 이미지 파일이 인쇄되도록하십시오 (끈적 거리는 문자열로). 또한 이미지를 저장하는 mysql 필드가 BLOB 유형인지 확인하십시오. 오류가 있으면 게시하십시오.

+0

머리글을 제거하면 이미지가 BLOB 형식으로 저장 될 때 횡설수설 어가납니다 ... 오류가 계속 발생합니다. – user2758453

+0

해결되었습니다. 이미지 자체의 데이터베이스 insted에 경로를 저장했습니다. – user2758453

관련 문제