Mam baza danych, która zawiera obrazy zapisane jako BLOB
s. Mogę z powodzeniem wykorzystać obraz na stronie, na przykład, tak :
<img src="<?php echo 'data:image/jpeg;base64,'.base64_encode($image)?>" alt="Landing" width="150px">
Jednak aby to zrobić, należy ręcznie określić rozszerzenie pliku w rzeczywistym oświadczeniu na stronie data:image/jpeg;
. Problem w tym, że mam wiele różnych obrazów w różnych formatach. Chcę upewnić się, że typ pliku jest ustawiony prawidłowo, na podstawie faktycznego rozszerzenia pliku konkretnego pliku dla każdego obrazu. Już mam tablice zagnieżdżone, który zawiera wszystkie rozszerzenia plików dla tych plików.
Jednak mam problemy z dynamicznej konfiguracji rozszerzenia. Próbowałem po prostu wymienić ''
pojedyncze cudzysłowy z ""
żebym mógł łatwo użyć zmiennej wewnątrz operatora, np. :
<img src="<?php echo "data:image/$images['monitor']['extension'];base64,".base64_encode($image)?>" alt="Landing" width="150px">
To nie działa, bo src
przypuszczam, że sam tag zawiera już cudzysłów. Moja IDE informuje mnie o błędzie Cannot use '[]' for reading
. Próbowałem również użyć zamiast tego połączone w pojedynczy cudzysłów :
<img src="<?php echo 'data:image/' . $images['monitor']['extension'] . ';base64,'.base64_encode($image)?>" alt="Monitor" width="150px">
Że też się nie udało. Ja sam nie mogłem znaleźć żadnego rozwiązania tego problemu w Internecie. Czy istnieje jakiś sposób na dynamicznie zainstalować rozszerzenie pliku? Chociaż instalacja jpeg
dla każdego obrazu w zasadzie działa, np. image/x-ico
ikona karty nie pozwala poprawnie załadować obraz.