Ich baue ein offenes Such-Add-on für Firefox/IE und das Image muss Base64-codiert werden, also wie kann ich Base 64 codieren das Favicon, das ich habe?Base64 Encoding Image
Ich bin nur vertraut mit PHP
Ich baue ein offenes Such-Add-on für Firefox/IE und das Image muss Base64-codiert werden, also wie kann ich Base 64 codieren das Favicon, das ich habe?Base64 Encoding Image
Ich bin nur vertraut mit PHP
Soweit ich mich erinnere, gibt es ein XML-Element für die Bilddaten. Sie können diese website verwenden, um eine Datei zu verschlüsseln (verwenden Sie das Upload-Feld). Kopieren Sie dann die Daten und fügen Sie sie in das XML-Element ein.
Sie könnten auch PHP, dies zu tun, wie so:
<?php
$im = file_get_contents('filename.gif');
$imdata = base64_encode($im);
?>
Verwenden Mozilla's guide Hilfe zur Plugins OpenSearch- zu schaffen. Zum Beispiel wird das Symbol Element wie folgt verwendet:
<img width="16" height="16">data:image/x-icon;base64,imageData</>
Wo imageData
sind Ihre base64-Daten.
Meine Synopse rfc2397 ist:
Sobald Sie Ihre Base64-codierte Bilddaten es ausdrückte in den < Bild> </Bild> -Tags mit dem Präfix „data:{mimetype};base64,
“ haben dies auf die Vorfixierung in der getan ähnlich ist Klammer von url()
Definition in CSS oder in dem angegebenen Wert des src
Attributs des Tags img
in [X] HTML. Sie können die Daten-URL in Firefox testen, indem Sie die Zeile data:image/...
in das URL-Feld eingeben und die Eingabetaste drücken, es sollte Ihr Bild anzeigen.
Für die tatsächliche Codierung denke ich, wir müssen über alle Ihre Optionen gehen, nicht nur PHP, , weil es so viele Möglichkeiten gibt, um etwas zu kodieren base64.
base64
. Es ist Teil des GNU coreutils (v6 +) und so ziemlich Standard in jedem Cygwin, Linux, GnuWin32 installieren, nicht aber die BSDs ich versuchte. Problem: $ base64 imagefile.ico > imagefile.base64.txt
Ein Hinweis auf Mime-Typ: Ich würde Sie eine image/png
image/jpeg
oder image/gif
bevorzugen, wie ich die beliebtesten image/x-icon
can't find. Sollte das image/vnd.microsoft.icon
sein? Auch die anderen Formate sind viel kürzer.
vergleichen 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==
$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));
@davidcorda - Die Kürze ist akzeptabel, aber vollere Erklärungen sind besser. http://stackoverflow.com/questions/how-to-answer – Michal
überprüfen Sie das folgende Beispiel
<?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 .'" />'
?>
base64_encode in diesem Fall wird nur das "Resource Handle" des Bildes, glaube ich, wenn überhaupt, kodieren. Sie müssten den tatsächlichen Inhalt der Datei einlesen. Die Verwendung der base64-Encoder-Website sollte jedoch funktionieren. –
Dies funktioniert überhaupt nicht für mich. '$ im' ist eine 'Ressource' und ich erhalte einen Fehler 'base64_encode() erwartet, dass Parameter 1 eine Zeichenfolge ist, Ressource gegeben' –
Die obigen Kommentare beziehen sich auf eine vorherige Bearbeitung, hakre hat meinen Fehler behoben. @stevether das sollte jetzt funktionieren. – Ross