ФорумПрограммированиеPHP для идиотов → запуск батника на исполнение средствами PHP

запуск батника на исполнение средствами PHP

  • vindmort

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 февраля 2011 г. 12:20, спустя 41 секунду

    Доброго всем времени суток! Друзья, прошу помочь мне в решении вот какого вопроса: есть скрипт, который по нажатию кнопки вытаскивает из БД имена звуковых файлов, и сохраняет их списком в файл *.bat Нужна процедура, которая по этому же процессу будет запускать этот батник на исполнение и сохранять его в нужной директории. Заранее благодарен!
    Не знаю нужен ли вам сам скрипт, но на всякий случай выложу:

    <?
    include(&quot;config.php&quot;);
    $id_project=$HTTP_GET_VARS[&quot;id&quot;];
    $submitted=$HTTP_POST_VARS[&quot;submitted&quot;];
    if($submitted==1)
    {
    $monthfrom=sprintf(&quot;%02d&quot;,$HTTP_POST_VARS[&#39;monthfrom&#39;]); //$today[mon]=$monthfrom+1;
    $monthto=sprintf(&quot;%02d&quot;,$HTTP_POST_VARS[&#39;monthto&#39;]);
    $dayfrom=sprintf(&quot;%02d&quot;,$HTTP_POST_VARS[&#39;dayfrom&#39;]);
    $dayto=sprintf(&quot;%02d&quot;,$HTTP_POST_VARS[&#39;dayto&#39;]);
    $yearfrom=$HTTP_POST_VARS[&#39;yearfrom&#39;];
    $yearto=$HTTP_POST_VARS[&#39;yearto&#39;];
    $hourfrom=$HTTP_POST_VARS[&#39;hourfrom&#39;];
    $hourto=$HTTP_POST_VARS[&#39;hourto&#39;];
    $minfrom=$HTTP_POST_VARS[&#39;minfrom&#39;];
    $minto=$HTTP_POST_VARS[&#39;minto&#39;];
    $start=&quot;$yearfrom-$monthfrom-$dayfrom&quot;;
    $end=&quot;$yearto-$monthto-$dayto&quot;;
    }
    else
    {
    if($_GET[&quot;starttime&quot;])
    {
    $start=explode(&quot; &quot;,$_GET[&quot;starttime&quot;]);
    $date=explode(&quot;-&quot;,$start[0]);
    $yearfrom=$date[0];
    $monthfrom=$date[1];
    $dayfrom=$date[2];
    $date=explode(&quot;:&quot;,$start[1]);
    $hourfrom=$date[0];
    $minfrom=$date[1];
    $start=explode(&quot; &quot;,$_GET[&quot;endtime&quot;]);
    $date=explode(&quot;-&quot;,$start[0]);
    $yearto=$date[0];
    $monthto=$date[1];
    $dayto=$date[2];
    $date=explode(&quot;:&quot;,$start[1]);
    $hourto=$date[0];
    $minto=$date[1];
    $submitted=1;
    $start=&quot;$yearfrom-$monthfrom-$dayfrom&quot;;
    $end=&quot;$yearto-$monthto-$dayto&quot;;
    }
    else
    {
    $today=getdate();
    $dayfrom=$today[mday]-1;
    $dayto=$today[mday];
    $monthfrom=$today[mon];
    $monthto=$today[mon];
    $yearfrom=$today[year];
    $yearto=$today[year];
    }
    }

    ?>
    <br><form name=form2 action=&quot;&quot; method=&quot;POST&quot;>
    <b>Начальная дата</b>
    <select name=&quot;dayfrom&quot;>
       <?
    for($i=1;$i<32;$i++)
    {
    if($dayfrom==$i)
         echo(&quot;<option value=&#39;$i&#39; selected>$i</option>&quot;);
    else
         echo(&quot;<option value=&#39;$i&#39;>$i</option>&quot;);
    }



    ?>
       </select> <select name=&quot;monthfrom&quot;>
               <option value=&quot;1&quot; <? if($monthfrom==1) echo(&quot;selected&quot;); ?>>январь</option>
               <option value=&quot;2&quot; <? if($monthfrom==2) echo(&quot;selected&quot;); ?>>февраль</option>
               <option value=&quot;3&quot; <? if($monthfrom==3) echo(&quot;selected&quot;); ?>>март</option>
               <option value=&quot;4&quot; <? if($monthfrom==4) echo(&quot;selected&quot;); ?>>апрель</option>
               <option value=&quot;5&quot; <? if($monthfrom==5) echo(&quot;selected&quot;); ?>>май</option>
               <option value=&quot;6&quot; <? if($monthfrom==6) echo(&quot;selected&quot;); ?>>июнь</option>
               <option value=&quot;7&quot; <? if($monthfrom==7) echo(&quot;selected&quot;); ?>>июль</option>
               <option value=&quot;8&quot; <? if($monthfrom==8) echo(&quot;selected&quot;); ?>>август</option>
               <option value=&quot;9&quot; <? if($monthfrom==9) echo(&quot;selected&quot;); ?>>сентябрь</option>
               <option value=&quot;10&quot; <? if($monthfrom==10) echo(&quot;selected&quot;); ?>>октябрь</option>
               <option value=&quot;11&quot; <? if($monthfrom==11) echo(&quot;selected&quot;); ?>>ноябрь</option>
               <option value=&quot;12&quot; <? if($monthfrom==12) echo(&quot;selected&quot;); ?>>декабрь</option>
       </select>
       <select name=&quot;yearfrom&quot;>
        <option value=&quot;2011&quot; <? if($yearfrom==2011) echo(&quot;selected&quot;); ?>>2011</option>
               <option value=&quot;2010&quot; <? if($yearfrom==2010) echo(&quot;selected&quot;); ?>>2010</option>
               <option value=&quot;2009&quot; <? if($yearfrom==2009) echo(&quot;selected&quot;); ?>>2009</option>
               <option value=&quot;2008&quot; <? if($yearfrom==2008) echo(&quot;selected&quot;); ?>>2008</option>
               <option value=&quot;2007&quot; <? if($yearfrom==2007) echo(&quot;selected&quot;); ?>>2007</option>
               <option value=&quot;2006&quot; <? if($yearfrom==2006) echo(&quot;selected&quot;); ?>>2006</option>
               <option value=&quot;2005&quot; <? if($yearfrom==2005) echo(&quot;selected&quot;); ?>>2005</option>
       </select>
       <br><b>Конечная дата</b>
    <select name=&quot;dayto&quot;>
       <?
    for($i=1;$i<32;$i++)
    {
    if($dayto==$i)
         echo(&quot;<option value=&#39;$i&#39; selected>$i</option>&quot;);
    else
         echo(&quot;<option value=&#39;$i&#39;>$i</option>&quot;);
    }
    ?>
       </select> <select name=&quot;monthto&quot;>
               <option value=&quot;1&quot; <? if($monthto==1) echo(&quot;selected&quot;); ?>>январь</option>
               <option value=&quot;2&quot; <? if($monthto==2) echo(&quot;selected&quot;); ?>>февраль</option>
               <option value=&quot;3&quot; <? if($monthto==3) echo(&quot;selected&quot;); ?>>март</option>
               <option value=&quot;4&quot; <? if($monthto==4) echo(&quot;selected&quot;); ?>>апрель</option>
               <option value=&quot;5&quot; <? if($monthto==5) echo(&quot;selected&quot;); ?>>май</option>
               <option value=&quot;6&quot; <? if($monthto==6) echo(&quot;selected&quot;); ?>>июнь</option>
               <option value=&quot;7&quot; <? if($monthto==7) echo(&quot;selected&quot;); ?>>июль</option>
               <option value=&quot;8&quot; <? if($monthto==8) echo(&quot;selected&quot;); ?>>август</option>
               <option value=&quot;9&quot; <? if($monthto==9) echo(&quot;selected&quot;); ?>>сентябрь</option>
               <option value=&quot;10&quot; <? if($monthto==10) echo(&quot;selected&quot;); ?>>октябрь</option>
               <option value=&quot;11&quot; <? if($monthto==11) echo(&quot;selected&quot;); ?>>ноябрь</option>
               <option value=&quot;12&quot; <? if($monthto==12) echo(&quot;selected&quot;); ?>>декабрь</option>
       </select>
       <select name=&quot;yearto&quot;>
       <option value=&quot;2011&quot; <? if($yearto==2011) echo(&quot;selected&quot;); ?>>2011</option>        
        <option value=&quot;2010&quot; <? if($yearto==2010) echo(&quot;selected&quot;); ?>>2010</option>
               <option value=&quot;2009&quot; <? if($yearto==2009) echo(&quot;selected&quot;); ?>>2009</option>
    <option value=&quot;2008&quot; <? if($yearto==2008) echo(&quot;selected&quot;); ?>>2008</option>
               <option value=&quot;2007&quot; <? if($yearto==2007) echo(&quot;selected&quot;); ?>>2007</option>
               <option value=&quot;2006&quot; <? if($yearto==2006) echo(&quot;selected&quot;); ?>>2006</option>
               <option value=&quot;2005&quot; <? if($yearto==2005) echo(&quot;selected&quot;); ?>>2005</option>
       </ select>
    <br><input type=&quot;submit&quot; value=&quot;Волшебная кнопка&quot; name=&quot;submit&quot;>
    <input type=&quot;hidden&quot; name=&quot;submitted&quot; value=&quot;1&quot;>
    <input type=&quot;hidden&quot; name=&quot;id_operator&quot; value=&quot;<?echo $HTTP_GET_VARS[&#39;id_operator&#39;];?>&quot;>
    </form>




    <?



    if($submitted==1)
    {
    $file = fopen(&quot;textfile.txt&quot;,&quot;r+&quot;) or die( &#39;Ошибка при открытии файла!&#39; );
    $sql=&quot;SELECT DISTINCT TOP 5000  [FileName]
    FROM CallsIn.dbo.Calls
    WHERE ProjectGUID=&#39;$id_project&#39;
    AND CallTime BETWEEN &#39;$start 00:00&#39; AND &#39;$end 23:59&#39;
    AND [Filename] IS NOT NULL
    &quot;;
    echo(&quot;$sql&quot;);
    $exc=odbc_exec($con,$sql);


    $cnt = 0;
    while ( odbc_fetch_into( $exc, $a ) ) {
    $cnt++;


    foreach ( $a as $v )
    {
    echo $v;

    fwrite($file, &quot;dc\Recording\.$v.copy.dc1\Office&quot;.&quot;\r\n&quot;) or die( &#39;Ошибка при записи в файл!&#39; );

    }

    }

    fclose($file);
    $query=&quot;SELECT Title AS Title FROM CC_CRM.dbo.Project WITH (NOLOCK) WHERE ProjectGUID=&#39;$id_project&#39;&quot;;
    $exc=query($con,$query);
    $project=odbc_result($exc,&quot;title&quot;);
    copy (&quot;textfile.txt&quot;,&quot;files/calls.bat&quot;);

    }
    ?>

  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 февраля 2011 г. 7:02, спустя 18 часов 42 минуты 37 секунд

    [man]exec[/man]
  • Frozzeg

    Сообщения: 5642 Репутация: N Группа: Джедаи

    Spritz 3 февраля 2011 г. 8:02, спустя 59 минут 45 секунд

    MOAR
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • fgets

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 февраля 2011 г. 8:43, спустя 40 минут 36 секунд

    AND [Filename] IS NOT NULL на пiха.ру
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 3 февраля 2011 г. 12:19, спустя 3 часа 36 минут 21 секунду

    это типа готовое решение ?????
    если да, то я опиздошен.
  • Hight

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 3 февраля 2011 г. 13:50, спустя 1 час 30 минут 47 секунд

    я опиздошен

    $HTTP_POST_VARS

    Я сразу был опиздошен многократно.
  • vindmort

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 4 февраля 2011 г. 0:40, спустя 10 часов 50 минут 31 секунду

    Этот скрипт выполняет функцию выкладки имён звуковых файлов и записи их в батник! Но я не знаю как к нему дописать процедуру, которая этот батник будет запускать на исполнение
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 4 февраля 2011 г. 1:07, спустя 27 минут 1 секунду

    exec(&#39;files/calls.bat&#39;);
  • vindmort

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 4 февраля 2011 г. 12:30, спустя 11 часов 23 минуты

    не помогает… скрипт работает нормально, файл формируется… но на этом всё! дальше с ним ничего не происходит

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