PHP를 사용하여 MySQL 데이터베이스에 이미지를 삽입하는 것은 까다로울 수 있습니다. 흔한 실수 중 하나는 file_get_contents()를 사용하여 바이너리 데이터를 직접 삽입하는 것입니다. 이렇게 하면 실제 이미지 데이터 대신 함수 호출을 나타내는 문자열이 저장됩니다.
이미지 데이터를 올바르게 삽입하려면 다음 결과를 연결해야 합니다. file_get_contents(). 문자열에서 벗어나 값을 명시적으로 추가하면 됩니다.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
바이너리 데이터에는 SQL 쿼리를 무효화할 수 있는 특수 문자가 포함될 수 있습니다. 이를 방지하려면 mysql_escape_string()을 사용하여 데이터를 이스케이프하세요.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
대용량 이미지를 데이터베이스에 저장하면 성능 문제가 발생할 수 있습니다. Amazon S3나 파일 시스템 등 별도의 파일 저장 시스템을 사용하고, 대신 이미지 경로나 참조를 데이터베이스에 저장하는 것을 고려해 보세요.
위 내용은 PHP를 사용하여 MySQL 데이터베이스에 이미지 Blob을 안전하게 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!