Запись в xml!

Программирование, которое не связано с API.
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Запись в xml!

Сообщение 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 все вводил сюда: Изображение

Дайте мне код пожалуйста! :)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Запись в xml!

Сообщение Александр »

Передавай параметры и записывай в файл через file_put_contents.
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Запись в xml!

Сообщение ukhov »

а как потом выводить данные из xml?
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Запись в xml!

Сообщение boombast1k »

ukhov писал(а):а как потом выводить данные из xml?
они у меня в плеере)
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Запись в xml!

Сообщение 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>
думаю понятно)
Tairesh
Сообщения: 30
Зарегистрирован: 29 июн 2011, 10:12

Re: Запись в xml!

Сообщение 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) для остальных расширяется элементарно.
Возможны опечатки ;)
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Запись в xml!

Сообщение boombast1k »

Tairesh Спасибо за помощь) вроде работает :)
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Запись в xml!

Сообщение boombast1k »

а как можно сделать через chekbox чтоб в category записывалось несколько категорий?
сейчас я сделал так

Код: Выделить всё

Выберите категорию:<input type="checkbox" name="category" value="А" checked/>А;<input type="checkbox" name="category" value="Биография" />Биография;
но мне кажется что то тут не то т.к записывается только то что последним отметилось(
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Запись в xml!

Сообщение Александр »

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 - будет массивом
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Запись в xml!

Сообщение boombast1k »

Спасибо Александр! Но что то теперь не сохраняет.
я кстати записываю в xml через DOM
Ответить