高级PHP图像共享。从DB到Facebook墙?
我正试图通过直接使用数据库中的图像来整合facebook共享 使用OG标记的静态图像:高级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共享不会拾取它们 在我看来,这样
<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在您的页面上看到的内容: