отображать изображение с другого сервера и отображать путь в браузере должен быть мой сервер - PullRequest
0 голосов
/ 05 января 2010

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

в коде я пишу так

<img src="http://image.com/ab.gif"/>

но на дисплее источника Bowser как

<img src="http://mysite.com/ab.gif"/>

Ответы [ 4 ]

1 голос
/ 05 января 2010

Не ответ PHP, но если вы запустите Apache с активированными mod_rewrite и mod_proxy, вы можете создать своего рода мягкую ссылку на папку с одного сервера на другой. Вставьте это в файл .htaccess:

RewriteEngine on
^/somepath(.*) http://otherhost/otherpath$1 [P]

Вызов http://yourhost/somepath/kittens.jpg на самом деле покажет http://otherhost/otherpath/kittens.jpg без раскрытия исходного адреса.

1 голос
/ 05 января 2010

Вы можете перенаправить скрипт:

<?php
$image = $_POST['image'];
$url = lookup($image);
header('Location: ' . $url);
exit;

где lookup() - это функция, которую вы пишете для поиска URL-адреса из базы данных, простого файла или чего-либо еще. Предполагая, что скрипт называется image.php, ваши URL будут выглядеть так:

http://yourdomainname.com/image.php?image=kitten1234

, где kitten1234 - идентификатор изображения.

Вы даже можете использовать mod_rewrite, чтобы переписать URL и удалить часть image.php.

0 голосов
/ 05 января 2010

Вы можете использовать mod_rewrite в Apache:

RewriteEngine On # Turn on the rewriting engine
# Redirect requests for images/* to images/* on anothersite
RewriteRule ^images/(.+)/?$ http://anothersite/images/$1 [NC,L]

Это перенаправит все запросы на http://yoursite/images/anyimage.jpg на http://anothersite/images/anyimage.jpg.

0 голосов
/ 05 января 2010

Ну, вы могли бы сделать это:

<img src="data:image/gif;base64,<?php echo base64_encode(file_get_contents("http://www.qweas.com/downloads/graphic/animation-tools/scr-coffeecup-gif-animator.gif")); ?>" />

Это позволит получить изображение и отобразить его в виде встроенных данных, оно не будет доступно в виде URL-адреса, но будет на вашем сайте (если вы хотите отключить показ оригинальных URL-адресов).

Другая вещь, которую вы могли бы сделать, - заставить каждый поиск изображений к php-скрипту с помощью mod_rewrite. В этом сценарии вы можете получить массив изображений (или запросить базу данных) для исходного URL-адреса изображения и отобразить его с помощью php. Это немного сложно и потребует от вас ввести исходный URL-адрес изображения для каждого изображения на вашем сайте.

...