показывать логотип в html без указания URL в источнике

0

Я пытаюсь отобразить изображение в HTML, используя:

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

то логотип.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 ответ

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">
  • 1
    Вы также должны отправить правильный заголовок изображения.
  • 0
    так что, если я использую это в image.php или logo.php, что я использую в файле menu.php?
Показать ещё 18 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню