所以我最終最終解決了這個問題。在放棄將包含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