Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grafika do zmiennej
Forum PHP.pl > Forum > PHP
fernet
Witam. W jakimś tam panelu administracyjnym udało mi się zaobserwować pewna metodologie tworzenia ikon (zdjęć/obrazków) kodem i nie mam zielonego pojęcia jak coś takiego zrobić i czy potrzebne są do tego jakieś kosmiczne biblioteki czy whatever... postaram się oddać jak najlepiej potrafię to co udało mi się tam zaobserwować... a wiec kod ten zaczyna się mniej więcej tak


  1. <?php
  2. $zmienna = <<< EOFILE
  3. (ciag blizej niezidentyfikowanych znakow)
  4. EOFILE;
  5. ?>



owe zdjęcia są przypisywane zwykłem css przez parametr bacground z tym ze w ural jest podany plik zawierając wyżej wymieniony kosmos ponadto w tym pliku do utworzonego tak obrazu jest postawiony header "Content-type: image/png" a zmienna wyświetlana przez echo i funkcje base64_decode

Bardzo mnie zaintrygowała ta metodologia myślę nawet o tym by nie przechowywać już zdjęć na serwerze tylko te bliżej niezidentyfikowane ciągi... Z tym ze nie mam zielonego pojęcia jak z pojedynczego zdjęcia wyjść do takiego ciągu znaków....


PRZYKŁAD BLIŻEJ NIEZIDENTYFIKOWANEGO CIĄGU

  1. <?php
  2. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABO1BMVEXu7u7n5+fk5OTi4uLg4ODd3d3X19fV1dXU1NTS0tLPz8+7z+/MzMy6zu65ze65zu7Kysq3zO62zO3IyMjHx8e1yOiyyO2yyOzFxcXExMSyxue0xuexxefDw8OtxeuwxOX
  3. wsLBwcGuxOWsw+q/v7+qweqqwuqrwuq+vr6nv+qmv+m7u7ukvumkvemivOi5ubm4uLicuOebuOeat+e0tLSYtuabtuaatuaXteaZteaatN6Xs+aVs+WTsuaTsuWRsOSrq6uLreKoqKinp6elpaWLqNijo6OFpt2CpNyAo92BotyAo9+dnZ18oNqbm5t4nt57nth7ntp4nt15ndp3nd6ZmZmYmJhym956mtJzm96WlpaVlZVwmNyTk5Nvl9lultu
  4. kpKNjY2Li4uKioqIiIiHh4eGhoZQgtVKfNFdha6iAAAAaXRSTlMA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////914ivwAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3
  5. rcyA4tWjSeAAAAKFJREFUGJVjYIABASc/PwYkIODDxBCNLODEzGiQgCwQxsTlzJCYmAgXiGKVdHFxYEuB8dkTOIS1tRUVocaIWiWI8IiIKKikaoD5
  6. kYWrpwmKSkpsRC+lBk3t2NEMgtMu4wpr5aeuHcAjC9vzadjYyjn7w7lK9kK6tqZK4d4wBQECenZW6pHe
  7. EdFC9mbK0W7otwsqenqmpMILIn4tIzgpG4ADUpGMOpkOiuAAAAAElFTkSuQmCC
  8. ?>



Za pomoc i zainteresowanie z góry dziękuje i pozdrawiam
Zyx
Skoro jest base64_decode(), to istnieje duże prawdopodobieństwo, że jest też base64_encode(). I w tym przypadku prawdopodobieństwo się nawet potwierdza. Kodowanie Base64 używane jest np. w wiadomościach e-mail do zakodowania binarnej wiadomości w taki sposób, by nie uszkodzić reszty wiadomości. Robi się więc konwersję ciągu 8-bitowych kodów na ciąg 6-bitowych kodów, gdzie każdy ma przypisaną odpowiednią literę alfabetu. Wiadomości w Base64 mogą zajmować jednak przez to do 33% więcej miejsca.

Nie widzę żadnego powodu, dla którego miałbyś angażować PHP do wyświetlania nawet najmniejszej głupoty, tylko niepotrzebnie nadkładając sobie roboty. Taki ciąg trzeba przecież za każdym razem odkodowywać, gdy ktoś będzie chciał wyświetlić zdjęcie, w dodatku samo włączanie parsera PHP do tego uważam za nieporozumienie. Co innego, gdyby ktoś chciał to jeszcze w bazie przechowywać, ale jako listę zmiennych?
fernet
Zdarzylo mi sie przerzucac tysiace zdjec z serwera na serwer i uwierz mi ze to nie jest przyjemne zajecie a zwlaszcza kiedy przyjdze Ci porcjowac dane po 50 plikow z grafika. Napewno sprawdze oplacalnosc i efektownosc zapisywania, przechowywania i wyswietlania zdjec ze stringow jednak skoro to az 30% to chyba dam sobie spokoj...


  1. <?php
  2. $tempfile = 'pix.gif';
  3.  
  4. $handle = fopen($tempfile,'rb');
  5. $file_content = fread($handle,filesize($tempfile));
  6. fclose($handle);
  7. $encoded = chunk_split(base64_encode($file_content));
  8.  
  9. echo $encoded;
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.