안녕하세요, 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입니다. 나는 다른 링크를 언급했지만 어떤 도움도 얻지 못했습니다. 도움을주십시오.
왜 이미지를 표시하기 위해 헤더를 변경하지 않습니까? 이미지 이름에 이름 저장이 정상입니까? 왜 ''을 사용하지 않는 걸까요? –
예 예 을 시도했지만 이미지의 암호화 된 형식 즉 텍스트 형식으로 표시됩니다. – user2758453
이미지의 사용자 정의 이미지, 원래 이름 또는 base64를 저장합니까? –