Страница 1 из 2
Запись в xml!
Добавлено: 22 июл 2011, 14:34
boombast1k
Привет всем
У меня возникла так сказать проблема!
У меня есть файл playlist.xml вот его содержание
Код: Выделить всё
<record> <movie>videos/Avatar_HD.flv</movie> <title>Avatar</title> <desc>Описание</desc> <preview>videos/previews/avatar.jpg</preview> <imgplaylist>videos/imgplaylist/p1.jpg</imgplaylist> <category>Action;Adventure;Sci-Fi; КАтегория</category> <banner>videos/banners/FancyBorder.jpg</banner> <bannerLink>http://www.flashcomponents.net/component/fancy_products_slideshow_xml_driven.html</bannerLink> <relatedxml></relatedxml> </record>
Мне нужно сделать так чтоб user мог добавлять своё видео,ну короче чтоб записывалось в этот .xml как это сделать?
чтоб user все вводил сюда:
Дайте мне код пожалуйста!
Re: Запись в xml!
Добавлено: 22 июл 2011, 20:40
Александр
Передавай параметры и записывай в файл через file_put_contents.
Re: Запись в xml!
Добавлено: 23 июл 2011, 08:40
ukhov
а как потом выводить данные из xml?
Re: Запись в xml!
Добавлено: 23 июл 2011, 10:39
boombast1k
ukhov писал(а):а как потом выводить данные из xml?
они у меня в плеере)
Re: Запись в xml!
Добавлено: 23 июл 2011, 10:54
boombast1k
Вот нашел такое
myxml.xml
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8" ?><books> <book> <title>Антилузер</title> <author>Илиас Меркури</author> <pages>288</pages> <isbn>978-5-271-19777-2</isbn> <year>2008</year> </book></books>
form.html
Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Документ без названия</title></head><body><form name="form1" method="post" action=" addxml.php ">Autor<br><input type="text" name="autor"><input type="submit" name="Submit2" value="Сохранить"></form></body></html>
addxml.php
Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /><title>Документ без названия</title></head><body><?php $xml = simplexml_load_file('myxml.xml'); $xml->book[]->autor = $autor; $xml->asXML('myxml.xml');?></body></html>
Потом я сам изменил
Код: Выделить всё
<?php $xml = simplexml_load_file('myxml.xml'); $xml->book[]->author = $_POST['autor']; $xml->asXML('myxml.xml');?>
на
Код: Выделить всё
<?php $xml = simplexml_load_file('myxml.xml'); $xml->book[]->author = $_POST['autor']; $xml->pages = $_POST['pages']; $xml->asXML('myxml.xml');?>
у меня почему то все записывает в одну строчку и вот в таком виде
Код: Выделить всё
<book> <book><title>Антилузер</title></book> <book><author>Илиас Меркури</author></book> <book><pages>288</pages></book> <book><isbn>978-5-271-19777-2</isbn></book> <book><year>2008</year></book> </book>
думаю понятно)
Re: Запись в xml!
Добавлено: 23 июл 2011, 12:26
Tairesh
Для PHP5, используем DOM для ООП:
Код: Выделить всё
<?php if (isset($_POST['title']) && isset($_POST['desc'])) { // если была отправлена форма $dom = new DOMDocument(); // определяем переменную $dom как объект DOM $dom->load('playlist.xml'); // загружаем playlist.xml в объект DOM $record = $dom->createElement('record'); // создаём элемент <record> $title = $dom->createElement('title'); // создаём элемент <title> $titleText = $dom->createTextNode($_POST['title']); // заносим в переменную $titleText данные из формы $title->appendChild($titleText); // вносим в элемент <title> строку из переменной $titleText $desc = $dom->createElement('desc'); // создаём элемент <desc> $descText = $dom->createTextNode($_POST['desc']); // заносим в переменную $descText данные из формы $desc->appendChild($descText); // вносим в элемент <desc> строку из переменной $descText// другие поля обрабатываем аналогично $record->appendChild($title); // вносим <title> внутрь <record> $record->appendChild($desc); // вносим <desc> внутрь <record>// другие элементы вносим аналогично $dom->documentElement->appendChild($record); // вносим <record> со всеми подэлементами в объект DOM $dom->save('playlist.xml'); // сохраняем объект DOM в файл playlist.xml echo 'Playlist saved.'; // Выводим сообщение об удаче }?><form method="post">Название: <input type="text" name="title" /><br />Описание: <input type="text" name="desc" /><br /><input type="submit" /></form>
Написал на коленке для двух полей (title и desc) для остальных расширяется элементарно.
Возможны опечатки
Re: Запись в xml!
Добавлено: 23 июл 2011, 15:19
boombast1k
Tairesh Спасибо за помощь) вроде работает
Re: Запись в xml!
Добавлено: 27 июл 2011, 21:55
boombast1k
а как можно сделать через chekbox чтоб в category записывалось несколько категорий?
сейчас я сделал так
Код: Выделить всё
Выберите категорию:<input type="checkbox" name="category" value="А" checked/>А;<input type="checkbox" name="category" value="Биография" />Биография;
но мне кажется что то тут не то т.к записывается только то что последним отметилось(
Re: Запись в xml!
Добавлено: 28 июл 2011, 21:52
Александр
boombast1k
Код: Выделить всё
<input type="checkbox" name="cb1" value="1" checked/><input type="checkbox" name="cb2" value="1" checked/>
или
Код: Выделить всё
<input type="checkbox" name="cb[]" value="1" checked/><input type="checkbox" name="cb[]" value="1" checked/>
так cb - будет массивом
Re: Запись в xml!
Добавлено: 28 июл 2011, 22:45
boombast1k
Спасибо Александр! Но что то теперь не сохраняет.
я кстати записываю в xml через DOM