Question

Je suis en train de créer un module complémentaire de recherche ouvert pour Firefox/IE et l'image doit être codée en Base64, alors comment puis-je encoder en base 64 le favicon que j'ai ?

Je ne connais que PHP

Était-ce utile?

La solution

Autant que je me souvienne, il existe un élément XML pour les données d'image.Vous pouvez utiliser ceci site web pour encoder un fichier (utilisez le champ de téléchargement).Ensuite, copiez et collez simplement les données dans l'élément XML.

Vous pouvez également utiliser PHP pour procéder ainsi :

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

Utiliser Le guide de Mozilla pour obtenir de l'aide sur la création de plugins OpenSearch.Par exemple, l'élément icon est utilisé comme ceci :

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

imageData sont vos données base64.

Autres conseils

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

Mon résumé de RFC2397 est:

Une fois que vous avez obtenu vos données d'image codées en base64, placez-les dans les balises <Image></Image> préfixées par "data:{mimetype};base64," ceci est similaire au préfixe fait entre parenthèses de url() définition en CSS ou dans la valeur citée du src attribut du img balise en [X]HTML.Vous pouvez tester l'URL des données dans Firefox en mettant le data:image/... ligne dans le champ URL et en appuyant sur Entrée, votre image devrait s'afficher.

Pour réellement encoder, je pense que nous devons passer en revue toutes vos options, pas seulement PHP, car il y a tellement de façons de base64 coder quelque chose.

  1. Utilisez le base64 outil de ligne de commande.Il fait partie des coreutils GNU (v6+) et est quasiment par défaut dans n'importe quel Cygwin, LjentoiX, GnuWin32 installer, mais pas les BSD que j'ai essayés.Problème: $ base64 imagefile.ico > imagefile.base64.txt
  2. Utilisez un outil offrant la possibilité de convertir en base64, comme Bloc-notes++ qui a la fonctionnalité sous plugins->Outils MIME->base64 Encode
  3. Envoyez-vous le fichier par e-mail et affichez le contenu brut de l'e-mail, copiez et collez.
  4. Utiliser un la toile formulaire.

Une note sur les types MIME :Je préférerais que vous utilisiez l'un des image/png image/jpeg ou image/gif comme je je ne trouve pas la populaire image/x-icon.Est-ce que ça devrait être image/vnd.microsoft.icon?Les autres formats sont également beaucoup plus courts.

comparez 265 octets contre 1150 octets :

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==

Vérifiez l'exemple suivant

<?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 .'" />'
    ?>

Google m'a conduit à ce solution (base64_encode).J'espère que cela t'aides!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top