Also habe ich schließlich das lösen. Nachdem ich aufgegeben hatte, ein PHP-Bild mit den URL-Parametern an Facebook zu senden, versuchte ich, das Bild in eine E-Mail zu stellen. Dies funktionierte in fast jedem Client gut, mit Ausnahme von Gmail. Ich musste die URL-Parameter konvertieren, um den Gmail-Proxy zu umgehen, der die Anzeige des Bildes ermöglichte UND es war nun auch im Facebook-Sharer nutzbar. Doppelter Hurra!
Die ursprüngliche Art, wie ich es einrichten hatte, war das PHP-Bild mit URL-Parametern zu verknüpfen und $_GET
verwenden sie auf dem Bild zu platzieren:
Skript-wrong.php
$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
Die richtige Weg, dies zu tun, ist die folgende:
script.php
$uri = $_SERVER['REQUEST_URI'];
$path = substr($uri, strpos($uri, "a=")); // start your url parameters here
$delim = 'abc=&'; // enter all characters you use in parameters (a, b, c, =, &)
$tok = strtok($path, $delim);
$tokens = array();
while ($tok !== false) {
array_push($tokens, $tok);
$tok = strtok($delim);
}
$var1 = $tokens[0];
$var2 = $tokens[1];
$var3 = $tokens[2];
Dies ist der Blick auf die URL und ziehen Sie die angegebenen Zeichen ($ delim) daraus in ein Array zu platzieren. Setzen Sie dann mit dem, was diesen Zeichen folgt, ihren Wert auf ein Token und platzieren Sie dieses Token auf dem Bild.
Hier ist, wie ich mein php Bild einrichten in der E-Mail angezeigt werden:
<img src="http://example.com/script.php/a=1&b=2&c=3">
Und meinen Anteil URL:
https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php/a=1%26b=2%26c=3
Haha, kein Problem. Zuvor, als ich es versuchte, erschien die URL als? A = 1, der Rest fehlte. Nach dem Codieren erscheint die URL nun als & alpha; a = 1 & b = 2 & c = 3, was die vollständige URL ist. Dem Bild fehlt jedoch immer noch Text.Obwohl die vollständige URL abgerufen wird, scheint es nicht den Text auf dem Bild zu generieren. Caching-Problem? Es zieht das Hintergrundbild, also muss es das Skript laufen lassen, sonst wäre alles leer. – cul8r
@ cul8r irgendeinen Erfolg? Ich stehe vor dem gleichen Problem. –
@IgorO ja eigentlich! Ich habe die Frage mit der Art und Weise aktualisiert, wie ich das gelöst habe. – cul8r