Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Взять файл с другого сервера для использования


Автор: NetJunky 19.9.2009, 11:51
Доброго времени суток.
Сегодня столкнулся с проблемой, которая связана с инородным сервером.
Без лишних слов, перейду к делу:
1. У меня в одном из файлов имеется функция, которая парсит получаемый CSV файл.
2. CSV файл получаю засчёт
Код

$test = @file_get_contents("http://....");

3. До сегоднянешнего дня всё работало отлично. Так как лично я предпологал, что тот источник откуда брал данные никогда и на миг не перестанет работать. Я ошибся.
4. Соответственно из-за взаимосвязи с той страничкой, которая не загружается у меня тоже всё немного подпортилось.

Вопрос: Не подскажете ли Вы, как можно было бы построить алгоритм действий, чтобы данная проблема не возникала.

Со своей стороны могу сказать, что я подумал и пришёл к выводу, что когда можно, то запрашивать файл и записывать у себя на сервере, а если файл не получить, то использовать ранее полученный.

Р.С. Возможно не совсем верно. Хотел бы услышать ещё предложения. (Если есть возможность представить помимо слов, ещё и кодом, будет вообще отлично... smile )
Всем заранее спасибо.

Автор: IZ@TOP 19.9.2009, 12:34
NetJunky, если речь о кратковременном сбое, просто кэшируйте файл на диск и в случае, если не можете получить удаленный - используйте локальную копию.
Код

// Простейший пример
$test = file_get_contents('http://....');
if(!$test)  {
 $test = file_get_contents('/....');
}

Автор: Simpliest 19.9.2009, 13:05
Цитата(NetJunky @  19.9.2009,  11:51 Найти цитируемый пост)
что когда можно, то запрашивать файл и записывать у себя на сервере, а если файл не получить, то использовать ранее полученный

Это правильный вариант.

Автор: NetJunky 19.9.2009, 13:18
IZ@TOP, Simpliest, большое спасибо. Думаю теперь всё должно будет работать корректно.

Автор: Strilo4ka 22.9.2009, 18:16
а если забанят по ип на сервере где ресурс запрашываеться,а ??????

Автор: solenko 22.9.2009, 19:02
Strilo4ka, если не красть контент, а законно получать данные через API, то никто вас банить не будет

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)