@RaTeNs

Как записать текст в файл через bat без кавычек?

Здравствуйте, есть текст который нужно записать в XML

$xml = "<InputSettings> <InputSetting> <Name>id_rk</Name>";


Записываю его так

$cmd = "cmd /c echo '{$xml}' > 'C:\\file.xml'";
    $stream = ssh2_exec($connection, $cmd);


Как избавиться от кавычек, которые добавляются при записи?
  • Вопрос задан
  • 1182 просмотра
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
$cmd = "cmd /c echo '{$xml}' > 'C:\\file.xml'";

Не ясно какие кавычки вы имеете ввиду.
Если внутренние одиночные, то просто уберите их.
Только одно, но большое но - в батниках символы < и > являются служебными и в итоговой команде:
echo <InputSettings> <InputSetting> <Name>id_rk</Name>

Они будут будут обработанными интерпретатором соответствующим образом и вы не получите на выходе эту строку.
Мой совет - не обрабатывайте содержимое xml файлов батниками. Кроме вышеперечисленных символов в батниках являются служебными: & | % ! ^, а так же cmd не дружит с UTF-8.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
А обязательно делать это через bat?
file_put_contents ('c:\file.xml' , $xml, FILE_APPEND);
php.net/manual/ru/function.file-put-contents.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы