MySQL 데이터베이스 블로브 열에서 TIFF 이미지 열기, 회전 및 저장

StackOverflow https://stackoverflow.com/questions/1032994

  •  06-07-2019
  •  | 
  •  

문제

내 문제는 다소 간단하다 :

  1. MySQL 데이터베이스에서 이미지 검색 (현재 Blob 열에서 이진 데이터로 저장)
  2. 해당 이미지 90도 (PHP의 imagerotate 사용)를 회전시킵니다.
  3. 회전 변경이 적용된 상태에서 이미지를 데이터베이스에 다시 저장하십시오.

이 이미지는 웹 서버를 터치 할 수 없기 때문에 이미지를 파일 시스템이 아닌 데이터 (파일 시스템이 아닌)로 저장할 수있는 함수를 찾는 데 어려움이 있습니다 (따라서 DB에있는 이유). 모든 조언을 환영합니다.

감사

도움이 되었습니까?

해결책

회전하기 전에 이미지를 다른 유형으로 변환하고 있습니까? 당신은 당신이 tiffs를 사용하고 있다고 말했고, GD는 TIFF 이미지의 헤더, 먼저 변환해야합니다. 아마 Imagemagick

아마도 파일을 임시 디렉토리에 저장하고 싶을 것입니다.

  • 파일의 쿼리 데이터베이스
  • 임시 디렉토리에 저장 (필요한 경우 권한을 설정하여 파일을 보호 할 수 있음)
  • 이미지를 돌리십시오
  • 데이터베이스에 다시 삽입하십시오
  • 온도 파일을 삭제합니다

다른 팁

DB에서 데이터를 선택하십시오. 데이터를 전달하십시오 imagecreatefromstring()

이제 이미지로 호출 할 수있는 이미지 리소스가 있습니다.

DB로 다시 저장하려면 사용하여 출력해야합니다. imagepng() / imagejpeg() 또는 사용중인 이미지 유형의 동등한 기능. 이러한 기능은 브라우저 또는 파일에 출력하여 출력 버퍼링을 사용하여 문자열을 캡처하여 DB에 다시 저장할 수 있습니다.

ob_start();
imagepng($resource);
$img_data = ob_get_contents();
ob_end_clean();

$img_data 이제 DB에 저장할 수 있습니다.

이것은 거친 개요 일 뿐이지 만 아이디어를 설명하기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top