это алгоритм, так сказать.
тебе казалось, что всё гораздо проще,- напиши, как ты себе это представлял,
возможно я действительно усложняю что-то без надобности.
1. "ping.php" - Файл, который запрашивает пользователь
http://www.server.com/ping.php
создаёт метку текущего времени // timestamp = DATE + TIME
(она уникальна для разных пользователей, заходящих на страницу)
затем "возвращает в браузер" твой баннер // showBannerHTML(timestamp);
после чего запускает процесс в бэкграунде системы, // exec("ping.bin $timestamp&");
который будет делать те самые пинги.
я исходил из того, что большинство серверов бегут на *nix подобных системах,
потому и написал: exec("ping.bin $timestamp&");
что значит: запусти программу "ping.bin" с параметром "$timestamp" и доллар - в бэкграунде,
то есть вернись сразу в место вызова, а программа пусть себе бежит
2. "ping.bin" опять же, *nix бинарный файл, может быть bash, но может быть написан и как PHP
он принимает параметр "timestamp" (важно для создания имени файла)
и бежит себе где-то, не важно где и пингует сервера,
как только он закончил своё задание, он создаёт файл с определённым именем: "file"+timestamp,
таким образом мы гарантируем, что имена файлов будут уникальными
3. "test.php" служебный, так сказать, PHP скрипт,
который проверяет, создал ли "ping.bin" файл или нет.
[для синхронизации "ping.bin" и "test.php", оба скрипта получают одинаковые "timestamp" (метку времени)]
если создал - парсит его (возможно) и создаёт из него красивый HTML, готовый быть показанным пользователю,
иначе возвращает пустой HTML документ
4. "clientHTML" (вот здесь-то и происходят чудеса)
это HTML + JS, созданный в пункте 1.
веб страничка, которую получил пользователь,
делает запрос каждые 100 милисекунд скрипту test.php
(который должен быть так же доступен через веб).
[Я бы предложил делать этот запрос через AJAX (Asynchronous JavaScript and XML)
то есть это НЕ PHP, это JavaScript
хотя есть и другие варианты]
и если test.php возвращает пустую страницу, - ждёт дальше,
если же нет, убирает баннер (при помощи JS) и выдаёт содержание полученного HTML документа
-----
вот общая идея, которая пришла мне в голову, когда я прочитал суть твоей проблемы.
если идея не понятна совсем, либо предложи свою, либо подожди, пока кто-то предложет другую.
если же не понятны какие-то пункты моей идеи - спрашивай, что смогу - обьясню.