#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 Я нашел настоящую проблему. Пожалуйста, ознакомьтесь с обновленным ответом 😉