Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Facebook上共享PHP GD创建的图像_Php_Facebook_Image_Gd - Fatal编程技术网

在Facebook上共享PHP GD创建的图像

在Facebook上共享PHP GD创建的图像,php,facebook,image,gd,Php,Facebook,Image,Gd,使用PHPGD图像库,我成功地输出了一个带有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时,它会拉取图像,但不会发送任何数字,因此不会携带任何文本 有没有办法保存带有参数的完整图像并

使用PHPGD图像库,我成功地输出了一个带有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

因此,您的url应该是:

https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php%3Fa%3D1%26b%3D2%26c%3D3

注意:我没有测试过这一点,因为我不想发布到facebook:)

您可能需要对url进行编码,以使?、=和&不会被facebook php脚本读取

有关编码的详细信息,请参阅

??是%3F,=是%3D,&是%26

因此,您的url应该是:

https://www.facebook.com/sharer/sharer.php?u=http://example.com/script.php%3Fa%3D1%26b%3D2%26c%3D3

注意:我没有测试过这个问题,因为我不想在facebook上发布:)

所以我最终解决了这个问题。在放弃将包含url参数的php图像推送到Facebook后,我尝试将该图像放到电子邮件中。除了Gmail,这在几乎所有客户机上都很有效。我不得不转换url参数来绕过Gmail代理,该代理允许显示图像,而且它现在也恰好可以在Facebook共享器中使用。万岁

我最初的设置方法是将php图像与url参数链接,并使用
$\u GET
将它们放置在图像上:

脚本错误。php

$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
$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];
正确的方法如下:

script.php

$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
$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&amp;b=2&amp;c=3">

所以我最终解决了这个问题。在放弃将包含url参数的php图像推送到Facebook后,我尝试将该图像放到电子邮件中。除了Gmail,这在几乎所有客户机上都很有效。我不得不转换url参数来绕过Gmail代理,该代理允许显示图像,而且它现在也恰好可以在Facebook共享器中使用。万岁

我最初的设置方法是将php图像与url参数链接,并使用
$\u GET
将它们放置在图像上:

脚本错误。php

$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
$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];
正确的方法如下:

script.php

$var1 = $_GET['a'];
$var2 = $_GET['b'];
$var3 = $_GET['c'];
$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&amp;b=2&amp;c=3">

哈哈,没问题。之前当我尝试时,url显示为?a=1,其余部分丢失。编码后,url现在看起来是?a=1&b=2&c=3,这是完整的url。但是,图像仍然缺少文本。尽管拉完整的url,它似乎没有生成图像上的文本。缓存问题?它正在拖动背景图像,因此它必须运行脚本,否则所有内容都将为空。@cul8r成功吗?我也面临同样的问题。@IgorO是的,事实上!我用我解决这个问题的方式更新了这个问题。哈哈,没问题。之前当我尝试时,url显示为?a=1,其余部分丢失。编码后,url现在看起来是?a=1&b=2&c=3,这是完整的url。但是,图像仍然缺少文本。尽管拉完整的url,它似乎没有生成图像上的文本。缓存问题?它正在拖动背景图像,因此它必须运行脚本,否则所有内容都将为空。@cul8r成功吗?我也面临同样的问题。@IgorO是的,事实上!我用我解决这个问题的方法更新了这个问题。