Możesz przechowywać obrazy w swojej bazie danych, jeśli chcesz (chociaż nie ma nic złego w przechowywaniu ich również jako plików, wybierz to, co jest odpowiednie w twojej sytuacji), ale przechowuj nieprzetworzone dane binarne w BLOB (tj. nie koduj ich za pomocą base64). Możesz osadzić dane binarne, które otrzymasz z file_get_contents
w zapytaniu bezpośrednio, pod warunkiem, że używasz odpowiedniej funkcji escape (mysql_real_escape_string
w twoim przypadku).
Jeśli chodzi o wyprowadzanie obrazu, możesz to zrobić tak, jak robisz to teraz, ale będziesz musiał wyprowadzić go zakodowany w base64 i z data
Schemat URI taki:
echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';
Zauważ, że są pewne zalety i wady osadzonych danych obrazu. Niektóre ważne wady, o których należy pamiętać, to poważne obciążenie kodowaniem base64 (około 33% większe niż oryginalne) i potencjalne problemy z buforowaniem.