Internet Explorer
Почему нельзя просто запускать Internet Explorer напрямую, например так: exec("C:\Program Files\Internet Explorer\iexplore.exe").
Количество Internet Explorer`ов растёт с каждым запуском, что не есть хорошо. Т.к. браузер "дёргается" часто, то окошек будет полно, - комп. станет тормозить. Поэтому использую способ запуска через rundll32.
Да, функция wrlog - пишет события в log файл, я её не цитирую, думаю, в ней нет ничего сложного ;-).

Собственно конфиг:
<?
  //пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ log`пїЅ
  $cfg["epd_ie"]["log_dir"] = "Path\to\log\dir";
  //пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ-пїЅпїЅпїЅпїЅпїЅпїЅпїЅ!
  $cfg["epd_ie"]["ie_path"] = "rundll32.exe shdocvw.dll,OpenURL ";
  //prefix пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
  $cfg["epd_ie"]["ie_exe_prefix"] = "cmd /C ";
  //пїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ IE
  $cfg["epd_ie"]["transfer_timeout"] = 90;
  //url пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅ
  $cfg["epd_ie"]["url_superput"] = "Path\to\superput.url";
  //url пїЅпїЅ пїЅпїЅпїЅпїЅпїЅ
  $cfg["epd_ie"]["url_autoget"]  = "Path\to\autoget.url";
  //пїЅпїЅпїЅпїЅпїЅпїЅпїЅ, пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
  $cfg["epd_ie"]["telix_send_local"] = "C:\Telix\Send\";
  //пїЅпїЅпїЅпїЅ IE пїЅпїЅпїЅпїЅпїЅпїЅ пїЅ (пїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅ - пїЅпїЅ * 60 + пїЅпїЅпїЅ)
  $cfg["epd_ie"]["receive_start"] = 9   *60  + 15;
  //пїЅпїЅпїЅпїЅ IE пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ
  $cfg["epd_ie"]["receive_stop"]  = 20  *60  + 30;
  //пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ IE пїЅпїЅпїЅпїЅ пїЅ
  $cfg["epd_ie"]["send_start"]    = 9   *60  + 30;
  //пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ IE пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ
  $cfg["epd_ie"]["send_stop"]     = 18  *60  + 30;
  //end
?>

Исходник:
<?
  include_once("../config.inc.php");
  include_once("../functions.inc.php");

  set_time_limit(0);

  $ld               = $GLOBALS["cfg"]["epd_ie"]["log_dir"];
  $telix_send       = $GLOBALS["cfg"]["epd_ie"]["telix_send_local"];
  $ie_path          = $GLOBALS["cfg"]["epd_ie"]["ie_path"];
  $ie_exe_prefix    = $GLOBALS["cfg"]["epd_ie"]["ie_exe_prefix"];
  $transfer_timeout = $GLOBALS["cfg"]["epd_ie"]["transfer_timeout"];

  $receive_start = $GLOBALS["cfg"]["epd_ie"]["receive_start"];
  $receive_stop  = $GLOBALS["cfg"]["epd_ie"]["receive_stop"];
  $send_start    = $GLOBALS["cfg"]["epd_ie"]["send_start"];
  $send_stop     = $GLOBALS["cfg"]["epd_ie"]["send_stop"];


  $WinShell = new COM("WScript.Shell");

  $start_timestamp = time() - $transfer_timeout + 2;

  wrlog($ld, "пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ...");

  while(1)
  {
    $cur_timestamp = time();
    $cur_time = (int)(date("H")) * 60 + (int)(date("i"));

    if( ($cur_time >= $receive_start) && ($cur_time <= $receive_stop) )
      $receive_status = 1; else
      $receive_status = 0;

    if( ($cur_time >= $send_start) && ($cur_time <= $send_stop) )
      $send_status = 1; else
      $send_status = 0;

    $delta = $transfer_timeout - ($cur_timestamp - $start_timestamp);
    echo "_" . $delta;
    if($delta == 0) echo "\n";

    //пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
    if($send_status == 1)
    {
      if(($cur_timestamp - $start_timestamp) >= $transfer_timeout)
      {
        $found_file = search_file($telix_send . "\*");
        if($found_file != "") //пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅ
        {
          wrlog($ld, "пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ: " . $found_file);
          echo "\n";

          $start_timestamp = $cur_timestamp;

          //пїЅпїЅпїЅпїЅпїЅпїЅ IE - пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅ
          $exe = $ie_exe_prefix . $ie_path . $GLOBALS["cfg"]["epd_ie"]["url_superput"];
          wrlog($ld, "пїЅпїЅпїЅпїЅпїЅпїЅ IE пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ: " . $exe);
          $WinExec = $WinShell->Run($exe, 0, false);
          //end
        }
      }
    } else
    {
      echo "  " . date("H:i:s") . " " . convert_cyr_string("пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ\n", "w", "d");
    }
    //end

    //пїЅпїЅпїЅпїЅ
    if($receive_status == 1)
    {
      if(($cur_timestamp - $start_timestamp) >= $transfer_timeout)
      {
        $start_timestamp = $cur_timestamp;

        echo "\n";

        //пїЅпїЅпїЅпїЅпїЅпїЅ IE - пїЅпїЅпїЅпїЅ
        $exe = $ie_exe_prefix . $ie_path . $GLOBALS["cfg"]["epd_ie"]["url_autoget"];
        wrlog($ld, "пїЅпїЅпїЅпїЅпїЅпїЅ IE пїЅпїЅ пїЅпїЅпїЅпїЅ: " . $exe);
        $WinExec = $WinShell->Run($exe, 0, false);
        //end
      }
    } else
    {
      echo "  " . date("H:i:s") . " " . convert_cyr_string("пїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ\n", "w", "d");
    }
    //end

    //пїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅ/пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
    if(($cur_timestamp - $start_timestamp) >= $transfer_timeout)
      $start_timestamp = time() - $transfer_timeout + 1;
    //end

    sleep(1);
  }
?>
 
Pekлamкa