partir imagen guardar decodificar crear convertir codificar php encoding base64 opensearch

php - guardar - Imagen de codificación Base64



guardar imagen base64 php mysql (5)

Estoy creando un complemento de búsqueda abierto para Firefox / IE y la imagen debe estar codificada en Base64, así que ¿cómo puedo 64 codificar el favicon que tengo?

Solo estoy familiarizado con PHP


Google me llevó a this solución (base64_encode). ¡Espero que esto ayude!


Mi sinopsis de rfc2397 es:

Una vez que tenga los datos de imagen codificados en base64, colóquelos dentro de las etiquetas <Imagen> </ Imagen> con el prefijo " data:{mimetype};base64, " esto es similar al prefijo hecho en paréntesis de la definición de url() en CSS o en el valor cotizado del atributo src de la etiqueta img en [X] HTML. Puedes probar la url de datos en firefox colocando la línea de data:image/... en el campo URL y presionando enter, debería mostrar tu imagen.

Para realmente codificar, creo que necesitamos revisar todas sus opciones, no solo PHP, porque hay tantas maneras de codificar algo en base64.

  1. Use la herramienta de línea de comandos base64 . Es parte de los coreutils de GNU (v6 +) y prácticamente predeterminados en cualquier instalación de Cygwin , L i n u x , GnuWin32 , pero no los BSD que probé. Problema: $ base64 imagefile.ico > imagefile.base64.txt
  2. Use una herramienta que tenga la opción de convertir a base64, como Notepad ++ que tiene la función bajo plugins-> herramientas MIME-> base64 Encode
  3. Envíe el archivo por correo electrónico y vea los contenidos del correo electrónico sin procesar, copie y pegue.
  4. Use un website web .

Una nota sobre mime-types: Preferiría que usas uno de image/png image/jpeg o image/gif ya que no puedo encontrar la popular image/x-icon . ¿Debería ser image/vnd.microsoft.icon ? Además, los otros formatos son mucho más cortos.

compare 265 bytes vs 1150 bytes:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEWcZjTcViTMuqT8/vzcYjTkhhTkljT87tz03sRkZmS8mnT03tT89vTsvoTk1sz86uTkekzkjmzkwpT01rTsmnzsplTUwqz89uy0jmzsrmTknkT0zqT3X4fRAAAAbklEQVR4XnXOVw6FIBBAUafQsZfX9r/PB8JoTPT+QE4o01AtMoS8HkALcH8BGmGIAvaXLw0wCqxKz0Q9w1LBfFSiJBzljVerlbYhlBO4dZHM/F3llybncbIC6N+70Q7OlUm7DdO+gKs9gyRwdgd/LOcGXHzLN5gAAAAASUVORK5CYII= data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD/////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv///////////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb///////////9mZmb/ZmZm//////////////////////////////////////////////////////9mZmb/ZmZm////////////ZmZm/2ZmZv//////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv//////ZmZm/2ZmZv///////////2ZmZv9mZmb//////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb//////2ZmZv9mZmb///////////9mZmb/ZmZm////////////////////////////8fX4/8nW5P+twtb/oLjP//////9mZmb/ZmZm////////////////////////////oLjP/3eZu/9pj7T/M2aZ/zNmmf8zZpn/M2aZ/zNmmf///////////////////////////////////////////zNmmf8zZpn/M2aZ/zNmmf8zZpn/d5m7/6C4z/+WwuH/wN/3//////////////////////////////////////+guM//rcLW/8nW5P/x9fj//////9/v+/+w1/X/QZ7m/1Cm6P//////////////////////////////////////////////////////7/f9/4C+7v8xluT/EYbg/zGW5P/A3/f/0933/9Pd9//////////////////////////////////f7/v/YK7q/xGG4P8RhuD/MZbk/7DX9f//////4uj6/zJh2/8yYdv/8PT8////////////////////////////UKbo/xGG4P8xluT/sNf1////////////4uj6/zJh2/8jVtj/e5ro/////////////////////////////////8Df9/+gz/P/////////////////8PT8/0944P8jVtj/bI7l/////////////////////////////////////////////////////////////////2yO5f8jVtj/T3jg//D0/P///////////////////////////////////////////////////////////3ua6P8jVtj/MmHb/+Lo+v////////////////////////////////////////////////////////////D0/P8yYdv/I1bY/9Pd9///////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==


Por lo que recuerdo, hay un elemento xml para los datos de imagen. Puede usar este website para codificar un archivo (use el campo de carga). Luego solo copie y pegue los datos en el elemento XML.

También puedes usar PHP para hacer esto así:

<?php $im = file_get_contents(''filename.gif''); $imdata = base64_encode($im); ?>

Use la guía de Mozilla para obtener ayuda sobre la creación de complementos de OpenSearch. Por ejemplo, el elemento icono se usa así:

<img width="16" height="16">data:image/x-icon;base64,imageData</>

Donde imageData es su base64 de datos.


Verifique el siguiente ejemplo

<?php // First get your image $image = ''path-to-your-picture/image.jpg''; $picture = base64_encode(file_get_contents($image)); echo ''<img width="100" height="100" src="data:image/jpg;base64,''. $picture .''" />'' ?>


$encoded_data = base64_encode(file_get_contents(''path-to-your-image.jpg''));