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

wyświetlanie obrazu przechowywanego w blobie mysql

Cóż... odpowiedzią na pytanie, dlaczego zrobi to, co opisałeś, jest użycie funkcji header(). W PHP nie możesz drukować niczego przed wywołaniem nagłówka, ponieważ nakazuje to serwerowi WWW przygotować nagłówek treści. Zwykle całkowicie zastępują one całą zawartość.

Po drugie, chciałbym wspomnieć, że przechowywanie obrazów w bazie danych jest zwykle złym pomysłem z dwóch powodów.

  1. Ma znaczący wpływ na wydajność i renderowanie.
  2. Musisz napisać kod renderujący dane obiektu blob, a nie tylko wyświetlać sam obraz.

Preferowaną metodą prezentacji obrazów w oparciu o bazę danych jest przechowywanie obrazów w katalogu, a ich nazw plików w bazie danych. Teraz, gdy chcesz wyświetlić obrazy, wystarczy odpytać bazę danych o nazwy plików, które chcesz wyświetlić, a następnie po prostu dołączyć nazwę pliku do atrybutu HTML.

Wykonanie jest również znacznie szybsze.

Chciałbym również zauważyć, że jeśli chcesz, aby skrypt faktycznie wykonał twoje renderowanie, chciałbyś, aby skrypt zdefiniował twój nagłówek, a następnie powtórzył lub wydrukował obraz blob po zdefiniowaniu nagłówka.

Zwróć uwagę, że kiedy tworzysz swój tag html ... w atrybucie src, możesz uczynić go czymś bardziej podobnym do tego;

<img src="image.php?id=<some_number>">

Teraz twój plik image.php wyrzuci dane obrazu do tagu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek w głównym wątku java.sql.SQLException:Odmowa dostępu dla użytkownika „@”localhost” (przy użyciu hasła:NIE)

  2. Używasz LIMIT w GROUP BY, aby uzyskać N wyników na grupę?

  3. MySQL:ALTER IGNORE TABLE ADD UNIQUE, co zostanie obcięte?

  4. Jak porównywać wydajność MySQL za pomocą SysBench?

  5. Sprawdź x kolejnych dni - podane znaczniki czasu w bazie danych