所以我最终最终解决了这个问题。在放弃将包含url参数的php图像推送到Facebook后,我试图将图像放入电子邮件中。除了Gmail之外,几乎每个客户端都能很好地运行。我不得不转换url参数来绕过允许图像显示的Gmail代理,并且它现在也可以在Facebook共享器中使用。双重万岁!
原来的方式我是有设立是对PHP的图像与URL参数链接,并使用$_GET
将它们放置在图像上:
脚本wrong.php
$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
的要做到这一点正确的做法是:
的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];
这样做是看看URL并从它拉出指定的字符($ delim)放入数组。然后使用这些字符后面的内容,将它们的值设置为令牌并将该令牌放置在图像上。
这是我如何设置我的PHP图像中的电子邮件显示:
<img src="http://example.com/script.php/a=1&b=2&c=3">
和我共享网址:
https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php/a=1%26b=2%26c=3
哈哈,没问题。以前,当我尝试时,网址显示为?a = 1,其余缺失。编码后,url现在看起来是?a = 1&b = 2&c = 3,这是完整的url。不过,该图片仍然缺少文字。尽管拉完整个url,但它似乎并没有在图像上生成文本。缓存问题?它拉动背景图像,所以它必须运行脚本,否则一切都将变为空白。 – cul8r
@ cul8r任何成功?我面临同样的问题。 –
@IgorO其实是!我用我解决这个问题的方式更新了问题。 – cul8r