Firefox/IE 用のオープン検索アドオンを作成していますが、画像を Base64 でエンコードする必要があります。
PHPしか知らない
Firefox/IE 用のオープン検索アドオンを作成していますが、画像を Base64 でエンコードする必要があります。
PHPしか知らない
私が覚えている限り、画像データ用の xml 要素があります。このWeb サイトを使用してファイルをエンコードできます (アップロード フィールドを使用)。次に、データをコピーして XML 要素に貼り付けます。
次のように、PHP を使用してこれを行うこともできます。
<?php
$im = file_get_contents('filename.gif');
$imdata = base64_encode($im);
?>
OpenSearch プラグインの作成については、Mozilla のガイドを参照してください。たとえば、icon 要素は次のように使用されます。
<img width="16" height="16">data:image/x-icon;base64,imageData</>
imageData
base64 データはどこにありますか。
$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));
rfc2397の私の概要は次のとおりです。
base64 でエンコードされた画像データを取得したら、それを <Image></Image> タグ内に " " という接頭辞を付けて配置します。これは、CSSdata:{mimetype};base64,
の定義の括弧内または[X]HTML のタグ。URLフィールドに行を入力してEnterキーを押すと、FirefoxでデータURLをテストできます。画像が表示されるはずです。url()
src
img
data:image/...
実際にエンコードするには、PHP だけでなく、すべてのオプションを確認する必要があると思います。これは、何かを base64 でエンコードする方法が非常に多いためです。
base64
コマンド ライン ツールを使用します。これは GNU coreutils (v6+) の一部であり、Cygwin、L i n u x、GnuWin32のインストールではほぼデフォルトですが、私が試した BSD ではデフォルトではありません。問題:$ base64 imagefile.ico > imagefile.base64.txt
MIME タイプに関する注意:image/png
image/jpeg
人気のimage/gif
ある. それはすべきですか?また、他の形式ははるかに短いです。image/x-icon
image/vnd.microsoft.icon
265 バイトと 1150 バイトを比較します。
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==
次の例を確認してください。
// First get your image
$imgPath = 'path-to-your-picture/image.jpg';
$img = base64_encode(file_get_contents($imgPath));
echo '<img width="100" height="100" src="data:image/jpg;base64,'. $img .'" />'
Google がこのソリューション (base64_encode) に導きました。お役に立てれば!