С наступившим вас всех! На днях нашел галерею simpleviewer. Внешне понравилась. Ради интереса начал делать аплоадер к нему, но запнулся на моменте записи в XML фаил. HTML: <?xml version="1.0" encoding="UTF-8"?> <simpleviewergallery galleryStyle="MODERN" title="SimpleViewer Gallery" textColor="FFFFFF" frameColor="FFFFFF" frameWidth="20" thumbPosition="LEFT" thumbColumns="3" thumbRows="4" showOpenButton="TRUE" showFullscreenButton="TRUE" maxImageWidth="640" maxImageHeight="640" useFlickr="false" flickrUserName="" flickrTags="" languageCode="AUTO" languageList="" imagePath="images/" thumbPath="thumbs/" > <image imageURL="images/wide.jpg" thumbURL="thumbs/wide.jpg" linkURL="" linkTarget="" > <caption><![CDATA[Welcome to <u><a href="http://www.simpleviewer.net" target="_blank">simpleviewer</a></u>.]]></caption> </image> <image imageURL="images/tall.jpg" thumbURL="thumbs/tall.jpg" linkURL="" linkTarget="" > <caption>SimpleViewer is a free, customizable Flash image gallery. It allows you to display your images on any web page in a professional, intuitive and simple way.</caption> </image> </simpleviewergallery> начал изучать кучу материала, о том как можно добавить запись в XML фаил. Только запутался. Как понял есть несколько методов - simplexml и XPath. Мне нужно записать все атрибуты для элемента image. Подскажите где об этом можно прочесть и посмотреть.
Чем не устроил http://php.net/simplexml? SimpleXMLElement::addAttribute — Adds an attribute to the SimpleXML element SimpleXMLElement::addChild — Adds a child element to the XML node
PHP: <?php include 'example.php'; $sxe = new SimpleXMLElement($xmlstr); $sxe->addAttribute('type', 'documentary'); $movie = $sxe->addChild('movie'); $movie->addChild('title', 'PHP2: More Parser Stories'); $movie->addChild('plot', 'This is all about the people who make it work.'); $characters = $movie->addChild('characters'); $character = $characters->addChild('character'); $character->addChild('name', 'Mr. Parser'); $character->addChild('actor', 'John Doe'); $rating = $movie->addChild('rating', '5'); $rating->addAttribute('type', 'stars'); echo $sxe->asXML(); ?> Вот не могу понять откуда в примере берется переменная $xmlstr. По смыслу вместо него должен быть фаил XML?
Ради эксперемента создал отдельный фаил и решил попробовать посмотреть как это точно работает, но не получилось, вылетели ошибки В чем причина и как можно исправить это?
я же специально дал ссылку http://ua2.php.net/simplexml перечитай ее до пользовательских коментариев.
Вроде получаться начало, но к сожалению не то, что хотелось бы. PHP: $image = simplexml_load_file("gallery.xml"); $image = new SimpleXMLElement('<image/>'); $image->AddAttribute('imageURL', $filedir.'/'.$newname); $image->AddAttribute('thumbURL', $thumbdir.'/'.$newname); $image->AddAttribute('linkURL', ''); $image->AddAttribute('linkTarget', ''); $image->AddChild('capture', ''); $image->asXML("gallery.xml"); Вот мое творение. Только вот проблема, теперь при каждой загрузке картинки он мне заново переписывает весь xml фаил. А нужно просто добавить элемент image.
Simpliest, а можно подробней? Просто не могу понять, как так получить чтоб элемент image добавился в simpleviewergallery.
Куда подробнее? Взять прочитать файл в объект. Объекту сказать, чтобы он добавил в себя ноду для этого есть специальный метод в мануале. (Ты же вместо этого затер его своей нодой).
Я не понял как конкретно надо добавить. Этим двум переменным можно дать арифмитические какие либо действия. Еще думаю что может как то так сделать: $a = 1; $b = 2; echo $a.$b; в итоге получим 12...хотя может я что то и не допонял.
Вот. правильно А с xml ты делаешь так $a = 1; $a = 2; и хочешь каким-то образом к 1 прибавить 2. Понял свою ошибку?
Simpliest, большое спасибо за помощь! Теперь я разобрался и понял где допускал ошибки, намотаю себе на ус так сказать