Der effizienteste Weg, um ein 1x1 GIF anzuzeigen (Tracking Pixel, Web Beacon)

Ich Baue ein basic-analytics-Dienst basiert in der Theorie aus, wie Google Analytics funktioniert, aber statt um eine tatsächliche Bild, ich bin die Weiterleitung der Bild-Anfrage zu einem Skript, übernimmt die Daten und dann die Ausgänge ein Bild. Da Browser Anforderung dieses Bild auf jeder laden, jede Millisekunde zählt.

Ich bin auf der Suche nach der effizienteste Weg für eine Datei zur Ausgabe einer gif-Datei von einem PHP-Skript. Bisher habe ich festgestellt 3 wichtigsten Methoden.

Gibt es eine effizientere Möglichkeit für mich die Ausgabe einer 1x1 GIF-Datei in ein PHP-Skript? Wenn nicht, welche von diesen ist am meisten effizient und skalierbar?

Drei Identifizierten Methoden

PHP image-Bildung-Bibliotheken

$im = imagecreatetruecolor(1, 1);
imagefilledrectangle($im, 0, 0, 0, 0, 0xFb6b6F);
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);

file_get_contents das Bild aus dem server-und Ausgabe, die es

$im = file_get_contents('raw.gif'); 
header('Content-Type: image/gif'); 
echo $im; 

base64_decode das Bild

header('Content-Type: image/gif');
echo base64_decode("R0lGODdhAQABAIAAAPxqbAAAACwAAAAAAQABAAACAkQBADs=");

(Mein Bauchgefühl war, dass base64 wäre die Schnellste, aber ich habe keine Ahnung, wie Ressourcen-intensiv, die Funktion ist; und dass file_get_contents würde wahrscheinlich skalieren weniger gut, da es fügt eine andere Datei-system-Aktion.)

Referenz, das GIF, das ich verwende ist das hier: http://i.stack.imgur.com/LQ1CR.gif

BEARBEITEN

So, der Grund, warum ich dienen diesem Bild ist, dass meine analytics-Bibliothek baut eine query-Zeichenkette und legt Sie auf dieses Bild Anfrage. Anstatt zu analysieren, Protokolle, ich bin die Weiterleitung der Anfrage an ein PHP-Skript verarbeitet die Daten und antwortet mit einem Bild,so dass der end-Nutzer der browser nicht mehr reagiert oder ein Fehler ausgelöst. Meine Frage ist, wie kann ich am besten dienen, das Bild innerhalb der Grenzen einer Skript?

InformationsquelleAutor der Frage Yahel | 2011-01-12

Schreibe einen Kommentar