jack2jack
Guest
Вопрос об использовании функции proc_open()
Мне нужно запустить консольное приложение в определенной директории, отличной от директории скрипта. Для этого я взял из хелпа пример использования функции proc_open() - поскольку необходимо использовать как stdin, так и stdout - и немного его изменил.
Программа запускается только в директории скрипта (например, mydir/myscript.php), даже если вначале стоит chdir("c:/mydir2").
Вопрос: Что нужно сделать, чтобы изменить директорию запуска?
-~{}~ 04.03.05 15:43:
Вопрос все еще открыт
-~{}~ 09.03.05 16:35:
Черт... cтарый мануал.
В текущем http://www.php.net/proc_open указан параметр
cwd
The initial working dir for the command. This must be an absolute directory path, or NULL if you want to use the default value (the working dir of the current PHP process)
-~{}~ 09.03.05 17:53:
правда, только для PHP5...
Мне нужно запустить консольное приложение в определенной директории, отличной от директории скрипта. Для этого я взял из хелпа пример использования функции proc_open() - поскольку необходимо использовать как stdin, так и stdout - и немного его изменил.
PHP:
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "err.txt", "a"),
);
$process = proc_open("F:\\WINDOWS\\system32\\cmd.exe", $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], "dir\n");
fclose($pipes[0]);
while(!feof($pipes[1])) {
echo $s = fgets($pipes[1], 1024);
}
fclose($pipes[1]);
$return_value = proc_close($process);
}
Вопрос: Что нужно сделать, чтобы изменить директорию запуска?
-~{}~ 04.03.05 15:43:
Вопрос все еще открыт
-~{}~ 09.03.05 16:35:
Черт... cтарый мануал.
В текущем http://www.php.net/proc_open указан параметр
cwd
The initial working dir for the command. This must be an absolute directory path, or NULL if you want to use the default value (the working dir of the current PHP process)
-~{}~ 09.03.05 17:53:
правда, только для PHP5...