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

kuzmit4

Новичок
Есть локальный сервер windows + apache + php5.4
Нужно реализовать следующую штуку. Открываем ссылку в браузере http://localhost/test.php после чего отрабатывает файл 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 файла ?
 

AnrDaemon

Продвинутый новичок
Никак.
Читаем про структуру сервисов в Windows (да и в линуксе это тоже не сработает…).
 

ksnk

прохожий
@AnrDaemon, и даже попробовал на своем
локальный сервер windows + apache + php5.4
Точнее - вместо апача там Winginx, но это же не принципиально? Или принципиально?
PHP:
$bat_filename='D:\\projects\\scaner\\tests\\start.bat';
$exe = "start /b ".$bat_filename;
if( pclose(popen($exe, 'r')) ) {
    return true;
}
Блокнот исправно открывает файл.
 

antson

Новичок
Партнер клуба
если я правильно понял, то нужно на рабочем месте открыть файл с сетевого диска.

без шаманства на стороне пользователя работать не будет. В хроме ссылки типа file:// перестали открываться гдето с 42 версии .
В качестве бреда можно попробывать заюзать свой медиатайп, и в пределах своей конторы настроить его обработку .

например пользователь скачивает файл с расширением .opentxt и какимто придуманным вами медиатапом. А на винде к нему ассоциация, что открывать его с помощью вашей программы (cmd файла), которая уже и запускает блокнот

А можно зайти с другой стороны. У клиентов висит кроновская задача, которая
проверяет а не сказал ли ей сервер, что нужно запустить блокнот с нужным файлом.
 
Последнее редактирование:

Dzen

Новичок
Схожая задача, а можно ли аудиофайл как-то запустить? mp3 или wav?
 

antson

Новичок
Партнер клуба
@Dzen, найти консольный (командной строки) плеер и задача сведена к предыдущей ;)
 

Dzen

Новичок
@Dzen, найти консольный (командной строки) плеер и задача сведена к предыдущей ;)
только так?
У клиентов висит кроновская задача, которая
проверяет а не сказал ли ей сервер, что нужно запустить блокнот с нужным файлом.
но это как-то не понятно:), можно разложить?)
 

antson

Новичок
Партнер клуба
@Dzen, начни с начала и подробно
почему нельзя просто проиграть звук штатными средствами броузера ?
где лежит файл ?
у кого должны звучать музыка из колонок ?
главное "зачем тебе это надо ?"
 
  • Like
Реакции: Dzen

antson

Новичок
Партнер клуба
@Dzen, вот единственная задача, в которой нужно что-то похожее это
админка - диджейский пульт к радиостанции.
и насколько помню у icecast вебморда была готовая.
 
  • Like
Реакции: Dzen

Dzen

Новичок
@Dzen, вот единственная задача, в которой нужно что-то похожее это
админка - диджейский пульт к радиостанции.
и насколько помню у icecast вебморда была готовая.
мне чисто для себя.
у меня работает на win сервере, система аналитики мной написанная на пхп,
и заметил, что очень оптимизировалась бы работа, если бы как в фильмах:), мадам голосом мне сообщала о том, что надо сделать и где. Звала в общем.
Создать голос не проблема. Но как любой звук файл запустить из пхп под win, пока не понятно на 100%.
 

antson

Новичок
Партнер клуба
@Dzen,
ну так тут простое общение между процессами.
держишь открытую вкладку в броузере.
если совсем быстро и просто
то там мета рефреш через нужное тебе время хоть секунда, хоть раз в 5 минут.
а если нужно что-то сыграть, то <audio src="" autoplay=1 >

ну а сам скрипт например смотрит в таблицу муськи, надо сыграть, отправил на воспроизведение.

а в аналитике ставишь таск на аудио уведомление (инсертишь в табличку)

Предупреждение
Код:
Приведенное выше решение подходит только для личных целей
и только в качестве иллюстрации подхода. В продакшен используйте
технологии aякс и кролика  :)
 
Последнее редактирование:
  • Like
Реакции: Dzen
Сверху