EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Добавить удалённое изображение на сайт через PHP

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Добавить удалённое изображение на сайт через PHP
Автор Сообщение
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Ср, 04 Апр, 2012 21:32    Заголовок сообщения: Добавить удалённое изображение на сайт через PHP Ответить с цитатой

Есть локальный сайт (несколько html-страниц)
Надо к нему добавить изображение, которое есть в интернете и постоянно изменяется. Например, это http://info.weather.yandex.net/moscow/2_white.ru.png
Конечно, можно просто вставить html-код:
Код:
<img src="http://info.weather.yandex.net/moscow/2_white.ru.png" border="0" alt=""/>

Но тогда те, у кого нет инета, картинку не увидят (а тем у кого инет есть, она им нафик не нужна).
Я пробовал использовать php-кода, что-то типа этого:
Код:
<?php
require_once "http://info.weather.yandex.net/moscow/2_white.ru.png";
?>

Но получается какая-то билиберда. Загружается не картинка, а набор каких-то символов.

Как правильно сделать, чтобы загружалась именно картинка, которую должны видеть пользователи на локальном сайте, которые не подключены к интернету?
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 15:00    Заголовок сообщения: Ответить с цитатой

Что, никто не знает?! Confused
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 18:13    Заголовок сообщения: Ответить с цитатой

Добрый день.
Самое простое. Запускать N раз в день/час/итд (запишет картинку в файл)
Код:

<?

file_put_contents(
  'img.png',
  file_get_contents('http://info.weather.yandex.net/moscow/2_white.ru.png')
);


?>

Посложнее. На лету:
<?
   header('Content-Type: image/png');
  readfile('http://info.weather.yandex.net/moscow/2_white.ru.png')
);
?>

Накрутиваем кеш.
<?
if (filemtime('img.png')+3600<time())
file_put_contents(
  'img.png',
  file_get_contents('http://info.weather.yandex.net/moscow/2_white.ru.png')
);

  header('Content-Type: image/png');
  readfile('img.png')



?>


Не проверял, но думаю не ошибся.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 18:41    Заголовок сообщения: Ответить с цитатой

lazutov писал(а):
Посложнее. На лету:
Код:
<?
   header('Content-Type: image/png');
  readfile('http://info.weather.yandex.net/moscow/2_white.ru.png')
);
?>

Попробовал этот вариант, но пришлось немного изменить, т.к. при просто "<?" вообще php-код не воспринимается, а последние ")" скорее всего лишние.
У меня получилось так:
Код:
<?php
   header('Content-Type: image/png');
  readfile('http://info.weather.yandex.net/moscow/2_white.ru.png');
?>

Но при добавлении в таком варианте, браузер открывает чистую страницу, которую воспринимает как изображение png (само изображение не загружается).
Если убрать из кода:
Код:
header('Content-Type: image/png');

то вместо рисунка грузится билиберда в виде набора символов (тоже самое, что и при require_once)
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 18:44    Заголовок сообщения: Ответить с цитатой

Важно. До и после тегов php не должно быть посторонних символов(напр. BOM заголовка utf).
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 18:52    Заголовок сообщения: Ответить с цитатой

Пробовал ставить в Нотепед++ кодировку utf8 без bom и удалял даже все лишние пробелы в начале и в конце. Результат тот же самый.
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 19:05    Заголовок сообщения: Ответить с цитатой

Тогда прошу ссылку на проблемную страничку.
(напр. через ЛС)
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Пт, 06 Апр, 2012 19:20    Заголовок сообщения: Ответить с цитатой

Сайт в локальной сети. Его нет в интернете. Вот часть html-кода одной из страниц:
Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Пчелайн :: Бан-лист</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="EXPIRES" CONTENT="0">
<meta name="generator" content="StatPX by alex82" />
<LINK REL="stylesheet" TYPE="text/css" HREF="./styles/styles.css">
</head>

<body>
<p align="center">
<img src="http://info.weather.yandex.net/lipetsk/2.ru.png" border="0" alt=""/><img width="1" height="1" src="http://clck.yandex.ru/click/dtype=stred/pid=7/cid=1227/*http://img.yandex.ru/i/pix.gif" alt="" border="0"/></p>
<!--Код на JavaScript который обновляет страницу-->
<script type="text/javascript">
function ref_resh(){
document.location.href=window.location.href;
}
setInterval('ref_resh()', '60000');
</script>
<table cellpadding="0" cellspacing="0" border="0" align="center" class="mainblock">

<!--................. Тут идёт таблица...........................-->

</table>
</body>
</html>
<!--StatPX 1.06 by alex82 - http://mydc.ru/topic1269.html-->

_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Thewirus
Пол-пирога
Пол-пирога


Зарегистрирован: 16.08.2007
Сообщения: 92

479 Монеты

СообщениеДобавлено: Сб, 23 Июн, 2012 20:02    Заголовок сообщения: Ответить с цитатой

Алзим, вставте прделоженые lazutov'ым варианты в отдельный пхп файл, а <img> просто направьте на него...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
SeoOptimizator



Зарегистрирован: 02.07.2013
Сообщения: 6

280 Монеты

СообщениеДобавлено: Вт, 02 Июл, 2013 02:34    Заголовок сообщения: Re: Добавить удалённое изображение на сайт через PHP Ответить с цитатой

Алзим писал(а):
Есть локальный сайт (несколько html-страниц)
Надо к нему добавить изображение, которое есть в интернете и постоянно изменяется. Например, это http://info.weather.yandex.net/moscow/2_white.ru.png
Конечно, можно просто вставить html-код:
Код:
<img src="http://info.weather.yandex.net/moscow/2_white.ru.png" border="0" alt=""/>

Но тогда те, у кого нет инета, картинку не увидят (а тем у кого инет есть, она им нафик не нужна).
Я пробовал использовать php-кода, что-то типа этого:
Код:
<?php
require_once "http://info.weather.yandex.net/moscow/2_white.ru.png";
?>

Но получается какая-то билиберда. Загружается не картинка, а набор каких-то символов.

Как правильно сделать, чтобы загружалась именно картинка, которую должны видеть пользователи на локальном сайте, которые не подключены к интернету?


картинки загрузить на сервер,
можно использовать спец скрипты для обновления картинок на сервере
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group