Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie danych obrazu BLOB z MySQL w PHP

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj relacyjnych baz danych MySQL w Fedorze 12

  2. MySQL, utf8_general_ci i znaki cyrylicy

  3. Wywoływanie funkcji modelu w widoku codeigniter

  4. Czy jest jakaś korzyść z posiadania automatycznego przyrostu klucza podstawowego w tabeli przestawnej MySQL?

  5. Jak w SQL uzyskać maksymalną wartość liczby całkowitej?