Запуск .bat файла через php

kuzmit42

Постоялец
Регистрация
9 Янв 2013
Сообщения
132
Реакции
31
Есть локальный сервер windows + apache + php5.4
Нужно реализовать следующую штуку. Открываем ссылку в браузере Для просмотра ссылки Войди или Зарегистрируйся после чего отрабатывает файл start.bat
Задача bat файла открыть текстовый файл в блокноте.

Содержимое start.bat
PHP:
start /d c:\PROGRA~1\EmEditor EmEditor.exe W:\ASA\scan/start/1.txt
(bat файл рабочий - при запуске мышкой отрабатывает как надо, файл 1.txt открывается в нужной программе)

Содержимое test.php
PHP:
exec ('W:\ASA\scan\start\start.bat'); // белый лист
system ('W:\ASA\scan\start\start.bat'); // показывает содержимое файла start.bat
passthru ('W:\ASA\scan\start\start.bat'); // показывает содержимое файла start.bat

Так вот как сделать запуск bat файла ?
 
PHP:
$result = array();
$file = 'W:\ASA\scan\start\start.bat';
$execs = file('file');
foreach ($execs as $exec)
exec (trim($exec),$result);

echo implode('<br />',$result);

А вообще под Виндой можно учитывать её особенности и запустить Notepad по-другому:
PHP:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("notepad.exe", 7, false);
Тогда к объекту можно будет обращаться — например, написать что-либо, открыть новый файл, сохранить и т.п.

Обратите внимание, что в Windows от Vista и старше есть контроль учётных записей пользователя, который не всякую программу позволит запустить, для чего возможно придется запускать PHP из-под системного пользователя или админа.
 
Последнее редактирование:
exec ('W: \ ASA \ scan \ start \ start.bat');
 
Назад
Сверху