在HTML中显示徽标而不显示源中的URL

时间:2013-09-18 10:37:41

标签: php html

我正在尝试使用以下方式在HTML中显示图像:

<img src="/logo.php?seq=5" />

然后logo.php看起来像:

<?php
$sql="SELECT * from reseller where sequence = '".$_GET["seq"]."' ";
$rs=mysql_query($sql,$conn);
$result=mysql_fetch_array($rs);

echo '<img src="http://www.integradigital.co.uk/customer/'.$result["logo"].'" />';
?>

但它不起作用 - 最好的方法是这样做,因此看到图像的用户无法查看图像的URL。如果他们在自己的窗口中打开图像,我希望他们看到类似http://www.domain.com/logo.php?seq=5 ???

的内容

1 个答案:

答案 0 :(得分:2)

使用readfile()读取image.php中的图像:

// Read URL from database
$sql    = "SELECT * from reseller where sequence = '" . $_GET["seq"] . "'";
$rs     = mysql_query($sql,$conn);
$result = mysql_fetch_array($rs);

// Generate path
$path = '/customer/' . $result["logo"];

// Set proper headers
$headers = get_headers( $path );

foreach( $headers as $h )
    if( strpos( $h, 'Content-Type:' ) !== false )
        header( $h );

// Send file to user
readfile( $path );

然后PHP读取正确的徽标并输出它,用户将无法看到真正的路径。您可以像建议的那样链接徽标:

<img src="/logo.php?seq=5" alt="Logo">