mySQL/PHP에서 이미지를 처리하는 함수를 작성하려고하지만 결과를 저장하는 방법을 찾을 수 없습니다. 문제를 설명하기 위해 코드를 제거했습니다.이미지를 데이터베이스에 BLOB 형식으로 저장할 수 있습니까?
image.image_o의 얼룩은 모두 올바르게 저장되어 웹 페이지에 이미지를 출력하는 데 사용할 수 있습니다. 이 함수는 오류없이 실행되지만 image.image_r의 blob은 단지 몇 바이트 길이이며 "Resource id # 5"와 같은 텍스트를 포함합니다.
나는 바보 같은 짓을하고 있다고 확신합니다. .
function process_images(){
global $mysql
$sql = "select id, image_o from image";
$res = mysqli_query($mysqli, $sql);
if ($res){
while ($ay = mysqli_fetch_array($res, MYSQLI_ASSOC)){
$id = $ay['id'];
$im = imagecreatefromstring($ay['image_o']);
// do something useful with the image
$sql2 = "update image set image_r = '{$im}' where id = $id";
$res2 = mysqli_query($mysqli, $sql2);
if ($res2){
// blah blah
}else{
echo mysqli_error($mysqli)." in res2";
}
}
}else{
echo mysqli_error($mysqli)." in res";
}
}
데이터베이스에 이미지를 저장하는 것이 좋지 않습니까? 당신은을 위해 공연을 죽이고 있습니까? ... – Layke
이미지를위한 데이터베이스는 적합하지 않습니다. 이미지를 일반 파일 시스템에 저장하고 참조 (파일 이름 + 경로 등)를 DB에 보관하십시오. –
나는 일반적으로 위와 동의합니다. Devil을지지하기 위해 여러 개의 응용 프로그램 서버와 하나의 db가있는 경우 db에 파일을 저장하고 싶지만 호스팅 제한이나 기타 제한 사항으로 인해 공유 파일 시스템을 설정하는 좋은 방법은 없습니다. 확실히 이상적은 아니지만 그게 중요한 것은 아닙니다. –