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

发布于 2024-12-22 16:55:10 字数 506 浏览 0 评论 0原文

我正在尝试直接使用数据库中的图像来集成 Facebook 共享。

使用 OG 标签的静态图像:

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

效果很好。

然而,我的图像不是静态的,它们是使用以下方式从我的数据库中调用的:

echo "<img src=\"pic.php?id=".$id."\"/>";

图片在我的网站上呈现良好,但 facebook 共享不会拾取它们。

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

echo "<meta property=\"og:image\" content=\"http://X.com/pic.php?id=".$id."\"/>";

遗憾的是,这不起作用。

有什么想法吗?

I'm trying to integrate facebook share by using images directly from my database.

Static images using the OG tags:

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

Works fine.

However, my images are not static, they are being called from my database using this:

echo "<img src=\"pic.php?id=".$id."\"/>";

Where pictures render fine on my website but facebook share does not pick them up.

The logical thing in my mind then would be to do this:

echo "<meta property=\"og:image\" content=\"http://X.com/pic.php?id=".$id."\"/>";

Sadly, this does not work.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笔芯 2024-12-29 16:55:10

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

http://x.com/pic/id

如果您使用 Apache,那将是一个 .htaccess 文件(假设您启用了 mod_rewrite),喜欢:

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

I suggest you use a URL rewrite to create a friendly URL, e.g.

http://x.com/pic/id

If you are using Apache, that would be a .htaccess file (assuming you have mod_rewrite enabled), something like:

RewriteEngine on
RewriteRule ^pic/([^/\.]+)/?$ /pic.php?url=$1 [L]
柳絮泡泡 2024-12-29 16:55:10

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

页面: http://www.ffkama.be/html/2_agenda_detail.asp?ps =id51

图片网址:http://www.ffkama.be/root/imager_ag.asp?id=51

更新:我忘记了 HEAD TAG 中的代码:( 有一点是肯定的,没有 ' 前缀="og: ht tp://ogp.me/ns# fb: ht tp://ogp.me/ns/fb# 网站: ht tp://ogp.me/ns/website#"' in HEAD 标签,调试器不会给出错误,并且图像会显示在调试器中,但图像不会显示在您的页面上然后页面被缓存,只有 2 个解决方案: 1. 重命名页面 2。等待几天缓存就会过期。

Same problem for me using asp
Image is retrieved from MySQL blob field by asp script.
the debugger shows the image and gives no error but the button on the page doesn't take the image.
And it should have nothing todo with caching as it is a brand new page.

Page: http://www.ffkama.be/html/2_agenda_detail.asp?ps=id51

Image URL: http://www.ffkama.be/root/imager_ag.asp?id=51

UPDATE: I forgot the code in the HEAD TAG :( One thing is sure, without the 'prefix="og: h t tp://ogp.me/ns# fb: ht tp://ogp.me/ns/fb# website: h t tp://ogp.me/ns/website#"' in the HEAD Tag, the debugger doesn't give an arror and the image shows up in the dubugger but the image won't show up on your page. Then the page is cached and there are only 2 solutions: 1. rename the page 2. wait several days for the cache to expire

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文