Страница 1 из 1

Завалялось всякого - мож кому пригодится )

Добавлено: 22 фев 2012, 02:46
bigfozzy

Код: Выделить всё

// проверить файл на обновление и обновить с сервера если надо 
function check_and_update_file($local_path,$remote_path) 
{ 
  $cur_ver=file_get_contents("$local_path.ver");
  $check_ver=file_get_contents("$remote_path.ver");
  if ($cur_ver!=$check_ver && $check_ver!="")
  { 
    $rcontent=file_get_contents("$remote_path.vvv");
    if ($rcontent!="")
    {
      file_put_contents("$local_path.php",$rcontent);
      file_put_contents("$local_path.ver",$check_ver);
      echo("finish update $local_path ( $cur_ver  ->  $check_ver )<br>");  
    }
  }
}


// вывести лог
function log_event($event,$path="")
{
  // глобальные
  global $log_path,$app,$script_name;
  
  // вывод
  $out="[".date("H:i:s")."] ".$event;
  
  // в консоль
  echo $out."<br>";

  // в локальный лог
  if ($path!="")
    file_add($path,$out."\n");

  // в глобальный лог
  if ($log_path!="")
    file_add($log_path,$out."\n");

  $app->set_title($app->get_port().": $script_name: $out");
}

// пауза перед новой попыткой восстановления сбора
function sleep_before_new_try($num_try)
{
  // глобальные
  global $app;

  // 20 сек пауза
  sleep(20);

  // на 5 попытке спим 1 минуту
  if ($num_try%5==0)
    sleep(60);   

  // на 20 попытке спим 10 минут
  if ($num_try%20==0)
    sleep(600);   

  // на 100 попытке спим 60 минут
  if ($num_try%100==0)
    sleep(3600);   

  // на 200 попытке - остановить 
  if ($num_try==200)
    $app->quit();   
}

// проверка памяти и выдача предупреждения
function check_memory($show_mess)
{ 
  // глобальные
  global $debug;

  // получим размер памяти
  $mem_size=$debug->get_cur_mem_size();
  log_event("Size of used memory : ".$mem_size);
  if ($mem_size>2000000000)
  { 
    if ($show_mess)
      $debug->message_box("used memory = ".$mem_size);
    return false;
  }

  return true;
}

// создать папку для хранения хтмл файлов
function create_folder_for_html($OutFolder)
{
     global $folder;

     $backup_folder=$OutFolder.date("y_m_d")."\\";
     $folder->create_folder($OutFolder);
     $folder->create_folder($OutFolder.date("y_m_d")."\\");	     
     return $backup_folder;
}

// зархивируем папку раром
function rar_folder($folder_path,$folder_name)
{  
  // глобальное
  global $app;

  // проверка парметров
  if ($folder_path=="" || $folder_name=="")
  {
    echo "empty params for raring folder";
    $app->quit();
  }
 
  // чистое имя папки
  $folder_name=str_replace("\\","",$folder_name);

  // содержимое bat файла
  $sStart="cd $folder_path\n";
  $sStart=$sStart."rar.exe u -m5 -mdE -s -r -ed -df -ep1 ".$folder_name.".rar ".$folder_name."\n";
  $sStart=$sStart."del ".$folder_path."rar_me.bat";   

  // выполним
  $app->run_as_bat($sStart,$folder_path."rar_me.bat",true);
}