0

我正在尝试使用以下方法在 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的内容???

4

1 回答 1

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">
于 2013-09-18T10:42:11.550 回答