Показать сообщение отдельно
  #18 (permalink)  
Старый 18.09.2018, 19:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

<?php
//getBanner.php
$visit=isset($_COOKIE['visit'])?(int)$_COOKIE['visit']:0;
$directory=__DIR__.'/banners/';
if(!is_dir($directory))
  throw new \Exсeption("Directory [$directory] not found");

$banners=array_diff(scandir($directory),['.','..']);
$response=$directory.$banners[$visit%count($banners)];
$response=file_get_contents($response);
setcookie('visit',++$visit,time()+365*24*3600,'/');

echo $response;


//banners.js
[].filter.call(document.scripts,function(script){
  return !!script.src && script.src.indexOf('banners.js')>0;
}).forEach(function(script,index){
	if(index)
      return;
  
  var xhr=new XMLHttpRequest();
  xhr.open('GET','/path/to/getBanner.php?'+Math.random(),true);
  xhr.onload=function(){
  	script.insertAdjacentHTML('beforebegin',this.responseText);
  };
  xhr.send();
});


//index.html
<script src="/path/to/banners.js" async></script>


В директории, в которую положите файл "getBanner.php" создайте еще одну директорию с именем "banners", в нее накидайте файлов, контент которых - код вставляемых на страницу баннеров.
1 файл - 1 баннер.
В том месте, где расположите подключение js-скрипта появится код баннера.

PS. Код не тестировал. Вообще.

Последний раз редактировалось Nexus, 18.09.2018 в 19:12.
Ответить с цитированием