我如何在我的网站上创建一个名为banner.php的页面,并让该页面在我的数据库中查找一个横幅ID(已经知道如何查找并获取网址),但我将如何进行如果我想在其他人的网站上的标签中使用myurl.com/banner.php?bid=3,那么它就像是实际的图像目的地。
此致 贾罗德
任何可以帮助如何做到这一点的人都赞赏!
答案 0 :(得分:1)
在banner.php中,您必须从其真实服务器实际加载图像并在banner.php中再次输出。请务必发送正确的Content-Type标头,以便浏览器将您的PHP文件作为图像。
你的banner.php最快的代码我可以想象一个jpeg-image可能看起来像这样:
<?php
$imageContents = file_get_contents('http://example.com/real-banner.jpg');
header('Content-Type: image/jpeg');
echo $imageContents;
当用户随后调用http://your-domain.com/banner.php时,它会在浏览器中显示为图像,而不知道其原始来源的位置。
<强>提示:强>
image/png
或image/gif
。file_get_contents()
,请确保您的服务器支持fopen wrappers,否则使用file_get_contents()
中的网址将无效。请参阅Notes-Section of file_get_contents() 修改强>
如果您想输出原始图片所具有的相同标题,您可以遍历变量$http_response_header
,该变量会在file_get_contents
调用后自动填充标题。搜索Content-Type
标题并输出相同的内容。
<?php
$imageContents = file_get_contents('http://example.com/real-banner.jpg');
// get the content type header out of the file_get_contents request
foreach ($http_response_header as $header) {
if (strtolower(substr($header, 0, 13)) == 'content-type:') {
$origContentTypeHeader = $header;
break;
}
}
header($origContentTypeHeader);
echo $imageContents;