Проблема с адресом XML

#php #xml

#php #xml

Вопрос:

У меня есть этот XML, в который я хочу вставить некоторую информацию, код работает нормально, но когда дело доходит до адреса XML, у меня возникают некоторые проблемы.

У меня есть ссылка на другой странице с:

produtoadicionado.php?page=adicionaramp;cod_produto=1amp;id=1amp;nome_produto=Arroz

Что я хочу, так это заполнить имя XML значением $ id перед. Которое в данном случае равно 1.

Поэтому он вызовет и добавит в: 1_produtos.xml

Но не работает. Создается ли новый xml с именем $id_produtos.xml

produtoadicionado.php

 <?php 
$page = $_GET["page"];
$cod_produto = $_GET["cod_produto"];
$id = $_GET["id"];
$nome = $_GET["nome_produto"];



    if ($page == 'adicionar')
    {
    $xml = simplexml_load_file('$id_produtos.xml');
    $produto = $xml->addChild('produto');
    $produto->addChild('nome', $nome);
    $produto->addChild('cod', $cod_produto);
    file_put_contents('$id_produtos.xml', $xml->asXML());
}

?>
  

Пожалуйста, помогите мне!

Ответ №1:

Измените эти строки:

 simplexml_load_file('$id_produtos.xml');
file_put_contents('$id_produtos.xml', $xml->asXML());
  

в это:

 simplexml_load_file("{$id}_produtos.xml");
file_put_contents("{$id}_produtos.xml", $xml->asXML());
  

Пожалуйста, обратите внимание на использование двойных кавычек вместо одинарных, которые позволяют PHP интерпретировать имя vars и заменять его их значением. Вы можете прочитать больше здесь.

Комментарии:

1. Хорошо, я изменяю эту строку, а также: $ xml = simplexml_load_file(«$id_produtos.xml «); Но выдает мне это: Предупреждение: simplexml_load_file() [function.simplexml-load-file]: предупреждение ввода-вывода: не удалось загрузить внешний объект «.xml» в /home/ticoteco/public_html/produtoadicionado.php в строке 14 неустранимая ошибка: вызов функции-члена addChild() для не-объекта в /home/ticoteco/public_html/produtoadicionado.php в строке 15

2. 14 строка выглядит так: $xml = simplexml_load_file(«$id_produtos.xml «); witch верен.

3. и 15-это: $produto = $xml->addChild(‘produto’);

4. у меня есть только это в моем xml: <?xml version= «1.0» encoding = «ISO-8859-1»?> <produtos></produtos>

5. @user1044413 Я нашел настоящую проблему. Пожалуйста, ознакомьтесь с обновленным ответом 😉