Warning: file(http://.../468_60.php) [function.file]:... - вопрос №847424

если обновлять страничку раз 5+- на месте вывода баннера такая вот ошибка

Warning: file(http://.../468_60.php) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /.../index.php on line 100

line 100 вот эта строка $banners = file($filename);

сам скрипт:

$filename = 'http://.../468_60.php';

$banners = file($filename);

srand ((double) microtime() * 100000000);

$i = rand(0, sizeof($banners) -1);

$reklama = $banners[$i];

$reklama = str_replace (' ', '', $reklama);

echo $reklama;

может как томожно перезапускать скрипт в случаи ошибки или с line 100 что то делать.



Дополнение автора от 26.11.13 16:51:20

со своего сервера, не защищеного от частого скачевания. Попробую закешировать.   

26.11.13
1 ответ

Лучший ответ по мнению автора

Вы скачиваете с удалённого сервера и он защищается от частого
скачивания с одного ip адреса.
Вашу строку 100 надо заменить на скрипт кеширующий
информацию в локальный файл и  обновляющий его раз в час.

if (@!file_exists("./baner.tmp") || (time() — filemtime("./baner.tmp")) > 3600)
{
$z = file_get_contents($filename);

    if (strlen($z) > 100)
      {
        $ftmp = fopen("./baner.tmp", 'w' );
         fwrite($ftmp,$z);
         fclose($ftmp);
      }
}

$banners = file("./baner.tmp");

26.11.13
Лучший ответ по мнению автора

Дима

Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store