Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
高级PHP图像共享。从DB到Facebook墙?_Php_Database_Facebook_Image - Fatal编程技术网

高级PHP图像共享。从DB到Facebook墙?

高级PHP图像共享。从DB到Facebook墙?,php,database,facebook,image,Php,Database,Facebook,Image,我正试图通过直接使用数据库中的图像来整合facebook共享 使用OG标记的静态图像: <meta property="og:image" content="http://X.com/image.jpg" />" ” 很好 但是,我的图像不是静态的,它们是通过以下方式从我的数据库调用的: echo "<img src=\"pic.php?id=".$id."\"/>"; echo”“; 在我的网站上,图片呈现良好,但facebook共享不会拾取它们 在我看来,这样

我正试图通过直接使用数据库中的图像来整合facebook共享

使用OG标记的静态图像:

<meta property="og:image" content="http://X.com/image.jpg" />"
很好

但是,我的图像不是静态的,它们是通过以下方式从我的数据库调用的:

echo "<img src=\"pic.php?id=".$id."\"/>";
echo”“;
在我的网站上,图片呈现良好,但facebook共享不会拾取它们

在我看来,这样做是合乎逻辑的:

echo "<meta property=\"og:image\" content=\"http://X.com/pic.php?id=".$id."\"/>";
echo”“;
遗憾的是,这不起作用


有什么想法吗?

我建议您使用URL重写来创建友好的URL,例如

http://x.com/pic/id
如果您使用的是Apache,那将是一个
.htaccess
文件(假设您启用了
mod_rewrite
),类似于:

RewriteEngine on
RewriteRule ^pic/([^/\.]+)/?$ /pic.php?url=$1 [L]

同样的问题,我使用asp 通过asp脚本从MySQL blob字段检索图像。 调试器显示图像并且没有给出错误,但是页面上的按钮没有获取图像。 它应该与缓存无关,因为它是一个全新的页面

第页:

图像URL:


更新:我忘记了头标签中的代码:(有一件事是肯定的,没有'prefix=“og:http://ogp.me/ns#fb:ht-tp://ogp.me/ns/fb#网站:http://ogp.me/ns/website#"'在HEAD标记中,调试器不提供arror,图像显示在dubugger中,但图像不会显示在您的页面上。然后页面被缓存,只有两种解决方案:1.重命名页面2.等待几天,以使缓存过期

我尝试了您的解决方案:显示正确的图像。但是,更改:echo“”;不帮助facebook抓取图像。使用调试工具,facebook对原始URL或重写没有任何问题。Meta标记:我仍在寻找一个解决方案,可以从DB调用中抓取图像。您不需要等待几天。只需使用facebook调试器工具查看facebook在您的页面上看到的内容: