2015-09-02 7 views
4

Привет У меня есть PHP скрипт, который покажет флаг страны на основе IP-посетителейПоказать PHP страницы как изображения

flags.php

<? 
require 'ip.php'; 
$ip=$_SERVER['REMOTE_ADDR']; 
$two_letter_country_code=ip_info("$ip", "Country Code"); 

//header('Content-type: image/gif'); 
$file_to_check="flags/$two_letter_country_code.gif"; 
if (file_exists($file_to_check)){ 
    print "<img src=$file_to_check width=30 height=15><br>"; 
} 
else{ 
    print "<img src=flags/noflag.gif width=30 height=15><br>"; 
} 

Тогда в моей индексной страницы я сделал

index.php

<img src="http://ip.dxing.si/flags/flags.php"> 

Когда я запускаю только сценарий, он показывает флаг просто отлично, но когда я хочу показать его на другой странице, он не работает.

Here - это сценарий, а here - это страница со сломанным изображением.

+0

Просто включите свой '' flags.php' в index.php' и вы должны быть хорошо – Daan

ответ

1

Вы не должны включать в свой файл PHP как атрибут Src в IMG тег, просто включить PHP-файл (и это эхо IMG тег)

index.php

include 'flags.php'; //this will echo the entire img-tag 

Альтернативно сделать ваши flags.php читают и повторяют весь флаг-образ. Или сделайте его эхо-url (но тогда вы можете просто запустить его как функцию и не нужно хранить его как отдельный файл)

0

Это из-за того, что файл flags.php действительно выводится и потому что пути подходят для включенный файл, но не index.php

Он создает целый тег img, тогда как в индексном файле вы используете его как атрибут src.

Изменить flags.php на $ file_to_check = "flags/flags/$ two_letter_country_code.gif"; если (file_exists ($ file_to_check)) { печать $ file_to_check "; } еще { печать "флаги/флаги/noflag.gif"; }

+0

это не работает, возвращается:. флаги /SI.gif когда я посещаю скрипт один, но когда я посещаю индексную страницу, это все еще сломанное изображение (интересно, как они это сделали e: http://www.shorter.in/#flag) – user3368585

+0

Ах, тогда это не так. Я отредактировал свой ответ, чтобы исправить это, но если вы хотите, чтобы он работал с обоими файлами, вам нужно будет использовать абсолютные пути для файлов изображений. –

0

Flags.php возвращает IMG тег, а не Src.

в index.php вы не должны добавить <img src="http://ip.dxing.si/flags/flags.php">, но только http://ip.dxing.si/flags/flags.php