Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хмл, блокировка при записи? 
V
    Опции темы
dstorm81
Дата 13.6.2007, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



собствеенно это реализовано в самом пхп?
или это надо делать самому, и если самому то как?
мб тема тупая, но все же самумневался что-то



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
PARROT
Дата 13.6.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



dstorm81, попробуйте еще раз объяснить на русском языке, по пунктам, что Вам нужно сделать. 


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



smile после праздника всё-же..

при записи в файлы (например:fopen)  есть lock unlock - блокировщики, делается для предотвращения одновременной записи, до сюда понятно понятно?
вот, а теперь xml, в xml можно добавлять/удалять/модифицировать узлы и перезаписывать файл используя DOM (php5).
Cобственно вопрос, не случится-ли так, что одновременно два процесса захотят добавить запись, и одна из них потеряетсо...


Это сообщение отредактировал(а) dstorm81 - 13.6.2007, 12:05


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2BuShaRt  ну и как это к xml и DOM прикрутить?



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
А причем тут DOM, и с каких пор xml перестал быть текстовым документом?
PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2 BuShaRt Вы показываете удивительные незнания работы с xml
тоже пульну ссылкой
http://ru2.php.net/manual/ru/function.dom-...cument-save.php



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
Класс то основанн все равно на записи в текстовый файл...
PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



ну-с значит всё включено в функцию save?
или блокировку надо делать самому? 
если самому, то хочу увидеть Вашу реализацию блокировки рабочим кодом




--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
не функция, а метод.. лезим в класс и смотрим smile
PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2 BuShaRt 
флудишь, давай конкретизируй, ссылки покажи
и т.д.


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
берем notepad, открываем файл класса, ищем нужный метод, смотрим есть ли в нем фильтр или нет, если нету дописываем функцией мною указанной...  Я не понимаю, какие тут ссылки? на что вам ссылку дать? 

PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



???????????????? совсем рассторился
походу мы разговариваем на разных языках
полное непонимание....
покажите мне исходный код этого класса, если можете, будте добры уж.





--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
хм, вы его используете - у вас он и должен быть %)
PM MAIL   Вверх
dstorm81
Дата 13.6.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



метод save() реализован в самом пхп5 для работы с xml
и не является моим классом



Это сообщение отредактировал(а) PARROT - 14.6.2007, 09:27


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 13.6.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
Знаете, многие, пользуются стандартными классами, даже не подозрева о их устройстве. Если, даже я не прав в плане, что класс можно легко извлечь, то в любом случае его можно продублировать и подгружать не из ядра, а как внешний класс, при этом свободно можно редактировать весь исходный код класса.

Smarty и PEAR тоже по вашему в PHP вшиты? хм, а я вот на пример их юзаю как внешние классы т.к. это сильно упрощает переносимость готовых программных продуктов.

Добавлено @ 15:06
Для чтения на досуге
http://forum.dklab.ru/php/heap/PodmenaDomd...aSvoyKlass.html

Это сообщение отредактировал(а) PARROT - 14.6.2007, 09:28
PM MAIL   Вверх
sTa1kEr
Дата 13.6.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



dstorm81, а чтение xml через fopen вас почему не устраивает?
Код

$fp = fopen("any.xml", "r+");
flock($fp, LOCK_EX);
$content = fread($fp, 8192);
$xml =  new DOMDocument('1.0');
$xml->loadXML($content);
// Работаем с XML
$content = $xml->saveXML();
fseek($fp, 0);
ftruncate($fp, 0); // забыл очистить
fwrite($fp, $content);
flock($fp, LOCK_UN);
fclose($fp);


Добавлено через 10 минут и 57 секунд
Цитата(BuShaRt @  13.6.2007,  15:00 Найти цитируемый пост)
Знаете, по моему именно дилетанты, пользуються стандартными классами, даже не подозрева о их устройстве. Если, даже я не прав в плане, что класс можно легко извлечь, то в любом случае его можно продублировать и подгружать не из ядра, а как внешний класс, при этом свободно можно редактировать весь исходный код класса.

И зачем изобретать очередной велосипед? Если хочется автоблокировки файлов через метод save, то достаточно расширить класс:
Код

class DOMDocumentLock extends DOMDocument
{
   public function load($filename)
   {
        // Открываем через fopen, болкируем и вызываем loadXML
   }

   public function save($filename)
   {
        // Соответственно разблокируем и сохраняем
   }
}

И не надо ничего дублировать и тем более извлекать.

Это сообщение отредактировал(а) sTa1kEr - 13.6.2007, 15:43
PM MAIL   Вверх
BuShaRt
Дата 13.6.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



sTa1kEr, 
А если на хостинге PHP4 стоит? PHP5, это хорошо, но я уверен, что для вас ни секрет, что новые технологии должны обжиться, прежде, чем их начинают широко использовать...

имхо "Программист, а не заказчик должен забоиться, чтоб движок работал".
PM MAIL   Вверх
sTa1kEr
Дата 13.6.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(BuShaRt @  13.6.2007,  18:11 Найти цитируемый пост)
А если на хостинге PHP4 стоит?

В PHP 4 нету DomDocument smile
Цитата(BuShaRt @  13.6.2007,  18:11 Найти цитируемый пост)
PHP5, это хорошо, но я уверен, что для вас ни секрет, что новые технологии должны обжиться, прежде, чем их начинают широко использовать...

Имхо, PHP 5 уже давно обжился, только некоторые ленивые либо просто глупые хостеры никак не обживутся PHP 5.
PM MAIL   Вверх
BuShaRt
Дата 13.6.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(sTa1kEr @  13.6.2007,  18:16 Найти цитируемый пост)
В PHP 4 нету DomDocument 

Если юзать внешним классом, то есть smile))

PM MAIL   Вверх
dstorm81
Дата 14.6.2007, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2 sTa1kEr
вот именно это я и хотел узнать

Код

class DOMDocumentLock extends DOMDocument
{
   public function load($filename)
   {
        // Открываем через fopen, болкируем и вызываем loadXML
   }

   public function save($filename)
   {
        // Соответственно разблокируем и сохраняем
   }

}


но вопрос был именно в том, что блокирует ли стандартная save(), то есть включена ли в нее эта фишка, или блокировку надо реализовывать самому через extends???
вот в чем пвопрос, хочу получить булевый ответ: да блокировка в save вшита (и ссылка где это описано) или нет блокировка не вшита
Жду ответа  sTa1kEr
P/S/ php5

 ! 
PARROT
Пользуемся кнопкой код!!!


Это сообщение отредактировал(а) PARROT - 14.6.2007, 09:29


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
PARROT
Дата 14.6.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50




 ! 
PARROT
Прекращаем Базар-Вокзал! Или закрою тему. Спасибо.



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
sTa1kEr
Дата 14.6.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(dstorm81 @  14.6.2007,  07:37 Найти цитируемый пост)
вот в чем пвопрос, хочу получить булевый ответ: да блокировка в save вшита (и ссылка где это описано) или нет блокировка не вшита

false
Более того, ни метод load(), ни метод save() не имеет никакого отношения к стандартным функциям PHP работы с файлами. За эти методы целиком и полностью отвечает библиотека libxml2. Заодно выяснил, что libxml2 умеет загружать xml по http и ftp протоколам, а также сжатые файлы.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.