Intereting Posts
Добавление пользователей в группу интересов через MailChimp API версии 2.0 htaccess переписать, если существует перенаправленный файл Можно ли использовать класс с именами с stream_wrapper_register? ZMQ REP REQ – Отправка Получать не работает Каков самый быстрый способ найти появление строки в другой строке? PHP асинхронный cURL с обратным вызовом Twilio – переадресация вызова через 2 кольца Процесс удаления одного и того же json-массива создает другой массив результатов для различной позиции значения Использование Twitter API начало давать страницу «Извините», не существует ошибки, даже если она работала ранее PHP Использовать имя переменной в foreach после установки значения как реализовать динамическую расчетную цену в magento на основе веса? regexp в инструкции switch Можно ли иметь скобки в URL? Объедините несколько MySQL-запросов в одной таблице в один db2_fetch_assoc () не выполняется на полпути через итерацию по набору результатов

Как использовать PHP CLI в C #

Я из Китая, поэтому мой английский, возможно, очень беден. Я стараюсь, чтобы вы поняли мой вопрос. Я хочу использовать PHP CLI в моем проекте C #. Я попробовал такой код

Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = command; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; try { p.Start(); p.StandardInput.WriteLine(command); p.StandardInput.WriteLine("exit"); p.WaitForExit(1000); StreamReader reader = new StreamReader(p.StandardOutput.BaseStream, Encoding.GetEncoding("utf-8")); string text= reader.ReadToEnd(); if (text.IndexOf(command) != -1) { int start = text.IndexOf(command) + command.Length; string endstring = rootpath + ">exit"; int end = text.IndexOf(endstring); text = text.Substring(start, text.Length - start - endstring.Length).Trim(); return text; } return ""; } catch (System.Exception ex) { return ""; } finally { p.Close(); } 

Поскольку возвращаемая строка не то, что мне нужно, я использую подстроку для получения правильных результатов, но иногда я не могу получить то, что хочу по правде. Я думаю, что мой метод может быть неправильным, но я не могу найти никакой информации из Интернета.

Вы можете мне помочь? Большое спасибо! Ждем Вашего ответа

Solutions Collecting From Web of "Как использовать PHP CLI в C #"

Если я пойду по вашему примеру кода, вопрос не имеет смысла. Однако по вашему вопросу вы можете выполнить PHP-скрипт из CLI и собрать результат, используя следующее:

 System.Diagnostics.Process proc = new System.Diagnostics.Process(); string sOutput = ""; proc.EnableRaisingEvents = false; proc.StartInfo.FileName = "php.exe"; proc.StartInfo.Arguments = "-f file.php"; proc.StartInfo.RedirectStandardOutput = true; System.IO.StreamReader hOutput = proc.StandardOutput; proc.WaitForExit(2000); if(proc.HasExited) sOutput = hOutput.ReadToEnd(); 

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

Надеюсь, это то, что вы ищете.