[英]Share PHP GD-created image on Facebook
使用PHP GD图像库,我已经成功输出了带有url参数(a,b,c)中的文本的图像。
我需要能够将这些图像发送到Facebook共享URL,以便可以将它们发送到社交媒体。
https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php?a=1&b=2&c=3
但是,共享链接似乎不接受我的php参数。 当我测试url时,它提取图像,但不发送任何数字,导致没有文本通过。
有没有一种方法可以保存带有参数的完整图像并将其发送到Facebook共享URL? 我通过嵌入在电子邮件中的链接来执行此操作,因此它不能使用比基本HTML更复杂的内容。
您可能需要对URL进行编码,以使Facebook php脚本无法读取?,=和&。
有关编码的详细信息,请参见此处 。
? 是%3F,=是%3D,&是%26
因此,您的网址为:
https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php%3Fa%3D1%26b%3D2%26c%3D3
注意:我没有测试过,因为我不想发布到Facebook :)
所以我最终最终解决了这个问题。 在放弃将包含PHP图像的url参数推送到Facebook之后,我尝试将图像放入电子邮件中。 除Gmail外,几乎所有客户端都可以使用此功能。 我不得不转换url参数来绕过Gmail代理,该代理允许显示图像,并且它现在恰好可以在Facebook共享器中使用。 双重万岁!
我设置它的原始方法是将php图像与url参数链接起来,并使用$_GET
将它们放置在图像上:
脚本错误的
$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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.