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

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

  • vindmort

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

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

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

    <?
    include("config.php");
    $id_project=$HTTP_GET_VARS["id"];
    $submitted=$HTTP_POST_VARS["submitted"];
    if($submitted==1)
    {
    $monthfrom=sprintf("%02d",$HTTP_POST_VARS['monthfrom']); //$today[mon]=$monthfrom+1;
    $monthto=sprintf("%02d",$HTTP_POST_VARS['monthto']);
    $dayfrom=sprintf("%02d",$HTTP_POST_VARS['dayfrom']);
    $dayto=sprintf("%02d",$HTTP_POST_VARS['dayto']);
    $yearfrom=$HTTP_POST_VARS['yearfrom'];
    $yearto=$HTTP_POST_VARS['yearto'];
    $hourfrom=$HTTP_POST_VARS['hourfrom'];
    $hourto=$HTTP_POST_VARS['hourto'];
    $minfrom=$HTTP_POST_VARS['minfrom'];
    $minto=$HTTP_POST_VARS['minto'];
    $start="$yearfrom-$monthfrom-$dayfrom";
    $end="$yearto-$monthto-$dayto";
    }
    else
    {
    if($_GET["starttime"])
    {
    $start=explode(" ",$_GET["starttime"]);
    $date=explode("-",$start[0]);
    $yearfrom=$date[0];
    $monthfrom=$date[1];
    $dayfrom=$date[2];
    $date=explode(":",$start[1]);
    $hourfrom=$date[0];
    $minfrom=$date[1];
    $start=explode(" ",$_GET["endtime"]);
    $date=explode("-",$start[0]);
    $yearto=$date[0];
    $monthto=$date[1];
    $dayto=$date[2];
    $date=explode(":",$start[1]);
    $hourto=$date[0];
    $minto=$date[1];
    $submitted=1;
    $start="$yearfrom-$monthfrom-$dayfrom";
    $end="$yearto-$monthto-$dayto";
    }
    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="" method="POST">
    <b>Начальная дата</b>
    <select name="dayfrom">
       <?
    for($i=1;$i<32;$i++)
    {
    if($dayfrom==$i)
         echo("<option value='$i' selected>$i</option>");
    else
         echo("<option value='$i'>$i</option>");
    }



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




    <?



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


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


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

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

    }

    }

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

    }
    ?>

  • Lirck

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

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

    [man]exec[/man]
  • Frozzeg

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

    Spritz 3 февраля 2011 г. 19: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

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

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

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

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

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

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

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

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

    я опиздошен

    $HTTP_POST_VARS

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

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

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

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

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

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

    exec('files/calls.bat');
  • vindmort

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

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

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

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