> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 MySQL 데이터베이스에 이미지 Blob을 안전하게 삽입하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 데이터베이스에 이미지 Blob을 안전하게 삽입하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-05 15:07:12
원래의
782명이 탐색했습니다.

How to Safely Insert Image Blobs into MySQL Databases using PHP?

PHP를 사용하여 MySql 데이터베이스에 Blob 삽입

문제

PHP를 사용하여 MySQL 데이터베이스에 이미지를 삽입하는 것은 까다로울 수 있습니다. 흔한 실수 중 하나는 file_get_contents()를 사용하여 바이너리 데이터를 직접 삽입하는 것입니다. 이렇게 하면 실제 이미지 데이터 대신 함수 호출을 나타내는 문자열이 저장됩니다.

해결 방법 1: 변수 연결

이미지 데이터를 올바르게 삽입하려면 다음 결과를 연결해야 합니다. file_get_contents(). 문자열에서 벗어나 값을 명시적으로 추가하면 됩니다.

$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
로그인 후 복사

해결책 2: 삭제

바이너리 데이터에는 SQL 쿼리를 무효화할 수 있는 특수 문자가 포함될 수 있습니다. 이를 방지하려면 mysql_escape_string()을 사용하여 데이터를 이스케이프하세요.

$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
로그인 후 복사

해결책 3: 별도의 저장소

대용량 이미지를 데이터베이스에 저장하면 성능 문제가 발생할 수 있습니다. Amazon S3나 파일 시스템 등 별도의 파일 저장 시스템을 사용하고, 대신 이미지 경로나 참조를 데이터베이스에 저장하는 것을 고려해 보세요.

위 내용은 PHP를 사용하여 MySQL 데이터베이스에 이미지 Blob을 안전하게 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿