помогите сделать ротацию банеров,так чтобы показывались только рабочие ссылки

freenog

Новичок
помогите сделать ротацию банеров,так чтобы показывались только рабочие ссылки

Доброй и светлой Вам весны )

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


Зарание благодарю Вас ,спасибо ,спасибо!
 

freenog

Новичок
а что других вариантов нету?)

-~{}~ 07.03.10 18:20:

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

dimagolov

Новичок
ты расскажи откуда беруться ссылки, откуда банеры и почему что-то может быть нерабочим
 

freenog

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

dimagolov

Новичок
и в чем конкретно тебе нужна помощь? задачи можешь разложить на составляющие:
1. написать банер, получающий ссылку в параметре
2. формировать html код для банера со ссылкой из базы
3. поддерживать базу ссылок в актуальном состоянии путем периодического тестирования ссылок в базе по крону и удаление некорректных
 

freenog

Новичок
если я правильно понял ,то мне нужны все три вышеперечисленных пункта))

-~{}~ 07.03.10 20:45:

мне нужно что_на подобие этого скрипта ,полько спроверкой


http://webmastak.com/article.aspx?id=99
 

Leonid

PHP? нет, не слышал...
Проверить, рабочая ссылка или нет, можно послав ей HTTP запрос и посмотриеть ответ. Примерно так:

PHP:
function check_url($url)
	{
	$Headers = @get_headers($url);
	return (preg_match("|200|", $Headers[0]));
	}
 

freenog

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

PHP:
function check_url($url)
	{
	$Headers = @get_headers($url);
	return (preg_match("|200|", $Headers[0]));
	}


спасилбо)я именно это и искал


вот как сделал
PHP:
  <?       
$ban1 = '<a href="http://site1.com"> <img src="banner1.jpg" width="157" height="274" /></a>';
                                //банер1 который показываем,если $url1 файла существует     

 $ban2 = '<a href="http://site2.com"> <img src="banner2.jpg" width="157" height="274" /></a>';
                                     //банер2 который показываем,если $url1 существует       

  $ban3 = '<a href="http://site3.com"> <img src="banner3.jpg" width="157" height="274" /></a>';
                                         //банер3 который показываем,если $url1 существует            

// файл, который мы проверяем 
 $url1 = "http://site1.com/images/t1.jpg"; 
 $Headers1 = @get_headers($url1); 
 
 $url2 = "http://site2.com/images/t2.gif";  
 $Headers2 = @get_headers($url2);

  $url3 = "http://site3.com/images/t3.jpg";  
  $Headers3 = @get_headers($url3);

      
  // проверяем ли ответ от сервера с кодом 200 - ОК 

   if(preg_match("|200|", $Headers1[0]))  {  echo $ban1;  }
    elseif (preg_match("|200|", $Headers2[0]))  {  echo $ban2;  } 
     elseif (preg_match("|200|", $Headers3[0]))  {  echo $ban3;  }     
   ?>


МОЖНО ТАК ДЕЛАТЬ ЕСЛИ ССЫЛОК БУДЕТ НЕ 3 ,А НАПРИМЕР 100
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
freenog
раздели проверку баннеров и их показ.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
freenog
я имел в виду, что отображение и их проверка - не должны быть смешаны в кучу. Кусок кода выбирает 3 штуки, проверяет, дает знать куску кода, отвечающему за вывод, что эти три в порядке. Выводящий кусок показывает.

Мне просто показалось, что у тебя и вывод и проверка в одном и том же месте сделаны.

Да и идея проверять так 100 штук скопом мне кажется не очень хорошей.
 

fixxxer

К.О.
Партнер клуба
Заведи в базе из которой ты берешь ссылки два поля - статус(живая/дохлая) и время последней проверки. И проверяй по крону скажем раз в час пачку давно непроверенных, обновляя статус. А при выборке учитывай.
 
Сверху