2013-11-26 3 views
1

Я пытаюсь сделать это: system("cmd /c C:\test.txt"); Я уже пытался exec("C:\test.txt"), exec('"C:\test.txt"'), но ничего не работает, некоторые попытки скрипт только сохраняет загрузку и некоторые попытки он загружает, но не возвращает! Я думаю, что это проблема разрешения ..Запустить программу из PHP

+0

Первое ... почему? Во-вторых, что вы хотите сделать с файлом? Есть много функций для работы внутри файлов для php, зачем вам нужна командная строка? – Jon

+0

'.txt' файлы обычно не запускаются. Что он содержит? Каков предполагаемый результат? – mario

+2

'exec ('' C: \ test.txt" ') 'не будет работать, потому что' test.txt' не является исполняемым. вы должны указать исполняемый файл и передать ему 'test.txt' в качестве параметра. – Goran

ответ

3

Вы можете создать файл .bat и использовать это:

openfile.bat

start notepad "myfile.txt" 
"myshortcut.lnk" 
exit 

PHP

exec("C:\openfile.bat") 

Источник: Open text file and program shortcut in Windows batch file

EDIT К сожалению, я не могу проверить это прямо сейчас, но если вы хотите, чтобы процесс работать в фоновом режиме, это может сделать трюк в обоих окнах и Linux:

function execInBackground($cmd) { 
    if (substr(php_uname(), 0, 7) == "Windows"){ 
     pclose(popen("start /B ". $cmd, "r")); 
    } 
    else { 
     exec($cmd . " > /dev/null &"); 
    } 
} 

execInBackground(start /B openfile.bat); 

Источник: http://www.php.net/manual/en/function.exec.php

также попробуйте:

exec("start /B C:\openfile.bat"); 

и я нашел другой стек вопрос regaring то же самое: How do you run a .bat file from PHP?

+0

Это только не останавливайте загрузку страницы. –

+0

Обновлен мой ответ, надеюсь, это поможет :) – Lohardt

+0

Не работает! : x, я хочу ЗАПУСКАТЬ, ВЫПОЛНИТЬ .exe, а не в фоновом режиме .. это просто не делает ничего, я думал об использовании COM или что-то в этом роде .. потому что это может быть ошибка apache разрешения –

Смежные вопросы