Хранение информации



Php Хранение Данных

Запись наборов данных в общую память с помощью PHP  Октябрь 26, 2019 – 21:13
Как организовать хранение пользователей в базе данных с разными

Первый параметр ― system ID. Это число, определяющее сегмент общей памяти в системе. Второй параметр ― режим доступа, который очень похож на режим доступа функции fopen. Доступ к сегменту можно получить четырьмя способами:

  • режим «а» позволяет обращаться к сегменту только для чтения;
  • режим «w» позволяет обращаться к сегменту для чтения и записи;
  • в режиме «c» создается новый сегмент, а если он уже существует, предпринимается попытка открыть его для чтения и записи;
  • режим «n» создает новый сегмент, а если он уже существует, выдается сообщение об ошибке.

Третий параметр ― разрешения для сегмента. Здесь нужно указать восьмеричное число.

Четвертый параметр указывает размер сегмента в байтах. Прежде чем записывать данные в сегмент, необходимо выделить нужное количество байтов в нем.

Обратите внимание, что эта функция возвращает идентификационный номер, который можно использовать с другими функциями для манипулирования сегментом общей памяти. Это идентификатор доступа к общей памяти, отличный от системного идентификатора, передаваемого в качестве параметра. Не путайте их. В случае неудачи функция shmop_open возвратит значение FALSE.

Запись в сегменты

Для записи данных в блок общей памяти используйте функцию shmop_write. Она очень проста в применении и принимает всего три параметра. См. листинг 2.

Листинг 2. Применение функции shmop_write для записи в блок общей памяти

Она похожа на функцию fwrite, которая принимает два параметра: открытый ресурс потока, возвращаемый функцией fopen, и данные, подлежащие записи. Функция shmop_write делает то же самое.

Первый параметр — идентификатор, возвращаемый функцией shmop_open, ― определяет блок общей памяти, с которым вы собираетесь работать. Второй параметр — это данные, которые нужно хранить и, наконец, третий параметр определяет адрес начала записи. По умолчанию это 0, так что запись начинается с самого начала. В случае неудачи эта функция возвращает значение FALSE и количество успешно записанных байтов.

Чтение из сегментов

Чтение из сегментов общей памяти ― простая процедура. Достаточно открыть сегмент и воспользоваться функцией shmop_read. Она принимает несколько параметров и работает аналогично функции fread. В листинге 3 приведен пример чтения содержимого файла в PHP.

Source: www.ibm.com

Похожие публикации:

  1. Hdd для Хранения Данных
  2. Хранение Данных в 1С
  3. Хранение Данных Raid