agx
Программер :-)
Применение кавычек в команде через exec()
Требуется выполнить распаковку присланного на сервер архива. Использую функцию exec() следующим образом:
echo exec('"c:/program files/apache group/apache/htdocs\\AutomationScripts\\UTILITS\\unrar.exe" x -y c:/program files/apache group/apache/htdocs\\AutomationScripts\\TEMP\\qw.rar c:/program files/apache group/apache/htdocs\\AutomationScripts\\TEMP',$out);
Тоесть, запускаю на сервере unrar.exe и указываю необходимые параметры, в частности, пути к файлам. С путями, которые не содержат в себе символов "пробел" такая запись работает, однако если в пути пробел встречается, команда, как и следовало ожидать не выполняется.
Казалось бы, что проще - каждый из путей заключить в двойные ковычки. Если работать через командную строку, то это помогает, однако exec() в этом случае выполняетмся неверно (распаковка не осуществляется). Pleace, подскажите, каки образом можно задавать пути, чтобы избежать такой проблемы?
Требуется выполнить распаковку присланного на сервер архива. Использую функцию exec() следующим образом:
echo exec('"c:/program files/apache group/apache/htdocs\\AutomationScripts\\UTILITS\\unrar.exe" x -y c:/program files/apache group/apache/htdocs\\AutomationScripts\\TEMP\\qw.rar c:/program files/apache group/apache/htdocs\\AutomationScripts\\TEMP',$out);
Тоесть, запускаю на сервере unrar.exe и указываю необходимые параметры, в частности, пути к файлам. С путями, которые не содержат в себе символов "пробел" такая запись работает, однако если в пути пробел встречается, команда, как и следовало ожидать не выполняется.
Казалось бы, что проще - каждый из путей заключить в двойные ковычки. Если работать через командную строку, то это помогает, однако exec() в этом случае выполняетмся неверно (распаковка не осуществляется). Pleace, подскажите, каки образом можно задавать пути, чтобы избежать такой проблемы?