我有这段代码来显示存储在公共网络文件夹之外的图像。
$result2 = mysqli_query($iddb, "SELECT url, extension FROM imagenes WHERE id=$id");
if ($row2=mysqli_fetch_array($result2, MYSQLI_BOTH))
{
$ruta_archivo = $row2['url'];
$extension =$row2['extension'];
$filePath=$ruta_outside.$ruta_archivo;
{
$image = file_get_contents($filePath);
}
}
header('Content-Type: image/.$extension.');
echo $image;
我可以在html标签中调用它,如下所示,它可以工作。
<img src='http://my_domain.com/content_image.php?id=11' height='40' width='40'/>
但是,当我在Facebook上分享我的网页时,它无法作为图片找到。我使用了og:标签,但是没有将其识别为图像。
您是否有想法将信息提供给客户端,因此它将其理解为以文件名结尾的URL?喜欢
http://my_domain.com/imagenid11.jpg
由于
答案 0 :(得分:0)
你想要做的是网址重写。如果您正在使用Apache,请使用apache扩展mod_rewrite。如果您正在使用nginx,请使用重写。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
您应该将header('Content-Type: image/.$extension.');
更改为header('Content-Type: image/'.$extension);
。