<?xml version="1.0" encoding="UTF-8"?>
<visitors>
<visitor>
...
</visitor>
<visitor>
...
</visitor>
<visitor>
...
</visitor>
</visitors>
/visitors>
Так подозреваю, что это могло случиться если два посетителя одновременно зашли на сайт.
так или не так? Как быть? У кого было как решили?
Впринципе можно решить это записью в разные файлы, но може есть просто какоето распределение по времени?
Спустя 16 минут, 18 секунд (9.10.2010 - 13:49) vasa_c написал(а):
Цитата |
так или не так? |
Спустя 30 минут, 49 секунд (9.10.2010 - 14:19) Dimka-zlodey написал(а):
Цитата (vasa_c @ 9.10.2010 - 10:49) | ||
|
Тему flock() я смотрел. Но файлы сохраняются по средством библиотеки simplexml.
Там нет дескриптора файла. Он просто сохраняется на "честное слово".
Если есть возможность его применить то я только за, но как????!!!
Спустя 57 минут, 8 секунд (9.10.2010 - 15:17) vasa_c написал(а):
Как именно сохраняете через simplexml?
Спустя 1 день, 22 часа, 3 минуты, 3 секунды (11.10.2010 - 13:20) Dimka-zlodey написал(а):
Как везде и предлагают
$xml->asxml("file.xml");
Спустя 15 минут, 47 секунд (11.10.2010 - 13:35) vasa_c написал(а):
Попробуйте получить строку через $xml->asxml() и уже самостоятельно сохранить в файл с блокировкой.
Спустя 1 минута, 14 секунд (11.10.2010 - 13:37) vasa_c написал(а):
Не обязательно через flock, можно через file_put_contents с нужным флагом.
Спустя 35 минут, 8 секунд (11.10.2010 - 14:12) Dimka-zlodey написал(а):
Спасибо. С такой штукой еще дела не имел, попробую.
Спустя 1 день, 7 часов, 20 минут, 34 секунды (12.10.2010 - 21:32) GRean написал(а):
А будет ли работать flock вот в такой конструкии ?
Вопрос интересен тем, что хочу сделать модуль для комментариев на xml основе. И вдруг два пользователя одновременно нажмут на кнопку сохранения, не сотрутся ли данные внутри xml?
$file = 'xml.xml';
$xmlstr = file_get_contents($file);
flock($xmlstr,LOCK_EX);
$xml = new SimpleXMLElement($xmlstr);
foreach($xml as $node){
if($node->getName() == 'action'){
$count = (integer)$node;
$node[0][0] = ++$count;
}
}
$xml->asXml($file);
flock($xmlstr,LOCK_UN);
fclose($xmlstr);
Вопрос интересен тем, что хочу сделать модуль для комментариев на xml основе. И вдруг два пользователя одновременно нажмут на кнопку сохранения, не сотрутся ли данные внутри xml?
Спустя 10 часов, 57 минут, 54 секунды (13.10.2010 - 08:30) linker написал(а):
А чем БД не подходит?
Спустя 2 часа, 14 минут, 45 секунд (13.10.2010 - 10:45) GRean написал(а):
Цитата (linker @ 13.10.2010 - 05:30) |
А чем БД не подходит? |
Ответ банальный: нет толкового учебника для мускула(имею ввиду для начинающих с нуля изучать мускул). Все что не нахожу, только для опытных пользователей. Поэтому в первую очередь начал изучать xml, а сейчас уже начинаю понимать все недостатки такой бд.
Спустя 4 минуты, 49 секунд (13.10.2010 - 10:50) linker написал(а):
Хм, странно, я бы понял если бы бесплатный хостер не давал БД, а то... Сунулся бы сразу в БД, то не имел бы сейчас таких проблем и танцев с бубном.
Спустя 14 минут, 59 секунд (13.10.2010 - 11:05) GRean написал(а):
Цитата (linker @ 13.10.2010 - 07:50) |
Хм, странно, я бы понял если бы бесплатный хостер не давал БД, а то... Сунулся бы сразу в БД, то не имел бы сейчас таких проблем и танцев с бубном. |
ага, вот и сижу учу мускул. Прийдется переделывать сайт, он полностью xml
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 часа, 48 минут, 50 секунд (13.10.2010 - 13:54) Dimka-zlodey написал(а):
Если сказать честно, то фигня вопрос и переделать и под "обыкновенные" текстовые файлы и с мускулом проблем нет. Просто мне нравится организация в XML да и данные с них проще скатывать для разных платформ. К тому же XML это мировой стандарт хранения данных, нужно шагать в ногу со временем!
)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 14 минут, 3 секунды (13.10.2010 - 14:08) linker написал(а):
А MSSQL, MySQL, PostgreSQL, Oracle не мировые стандарты хранения данных? XML подходит исключительно для простых данных, без связей и прочих крутых заморочек с индексами, хранимыми процедурами, триггерами, вьюхами и т.д.
Спустя 11 минут, 31 секунда (13.10.2010 - 14:19) Dimka-zlodey написал(а):
Несомненномировые и самые популярные. Только вот они требуют дополнительную платформу хранения. Надо завадить целую базу на хостинге а xml файлы это просто текстовые файлы. Нееее, я не спорю что XML лучше.Хотя при помощи XPATH() можно выборки делать с XML файлов. И там и там есть свой гемор. Это на вкус и цвет ну и конечно смотря на поставленную задачу.
Спустя 5 минут, 46 секунд (13.10.2010 - 14:25) linker написал(а):
Именно на поставленную задачу.
Спустя 9 минут, 59 секунд (13.10.2010 - 14:35) Dimka-zlodey написал(а):
Задача поставлена сделать учет статистики с сохранением в формате XML.
Я сейчас создаю цельную базу данных местных магазинов. Так сказать локальный myspace для нашего торгующего контингента. Аналог в MySQL-е я уже делал. Теперь интересны другие методы хранения и обработки данных.
Я сейчас создаю цельную базу данных местных магазинов. Так сказать локальный myspace для нашего торгующего контингента. Аналог в MySQL-е я уже делал. Теперь интересны другие методы хранения и обработки данных.
Спустя 18 минут, 47 секунд (13.10.2010 - 14:54) vasa_c написал(а):
XML - стандарт передачи данных, а не хранения.
Спустя 40 минут, 14 секунд (13.10.2010 - 15:34) linker написал(а):
vasa_c
Именно хранения, он просто удобен для передачи, вот потому им и пользуются под это дело. А так изначально, повторюсь, как хранения данных.
Именно хранения, он просто удобен для передачи, вот потому им и пользуются под это дело. А так изначально, повторюсь, как хранения данных.
Спустя 18 часов, 57 минут, 1 секунда (14.10.2010 - 10:31) Dimka-zlodey написал(а):
Должен подтвердить Linker-а: для передачи данных XML довольно ёмкий из-за тэгов.
Спустя 55 минут, 12 секунд (14.10.2010 - 11:26) arvitaly написал(а):
Цитата |
Должен подтвердить Linker-а: для передачи данных XML довольно ёмкий из-за тэгов. |
А кто не емкий?