shmop_read() reads and returns the whole memory segment's data. This is not useful if you're just working with strings. If you need to read a string from shared memory, call str_from_mem() on the result of shmop_read(). Similarly when writing strings to memory (instead of binary data), null terminate your strings with str_to_nts() before passing the value on to shmop_write().
function str_to_nts($value) {
return "$value\0";
}
function str_from_mem(&$value) {
$i = strpos($value, "\0");
if ($i === false) {
return $value;
}
$result = substr($value, 0, $i);
return $result;
}
PHP.mk документација
shmop_read
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.shmop-read.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.shmop-read.php
shmop_read
Референца за `function.shmop-read.php` со подобрена типографија и навигација.
shmop_read
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
shmop_read — Читај податоци од блок на споделена меморија
= NULL
shmop_read() ќе прочита стринг од блок на споделена меморија.
Параметри
shmop- ќе запише стринг во блок за споделена меморија. shmop_open()
offset- Поместување од кое да се започне со читање; мора да биде поголемо или еднакво на нула и помало или еднакво на реалната големина на сегментот на споделена меморија.
size-
Бројот на бајти за читање; мора да биде поголем или еднаков на нула, и збирот на
offsetandsizeмора да биде помал или еднаков на реалната големина на сегментот на споделена меморија.0readsshmop_size($shmid) - $startbytes.
Вратени вредности
Враќа податоци.
Errors/Exceptions
Враќа offset or size се надвор од опсег, а ValueError се фрла.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
shmop беше вратено при неуспех. Функции за споделена меморија
инстанца сега; претходно, а resource се очекуваше.
|
| 8.0.0 |
Враќа offset or size се надвор од опсег, а ValueError се фрла; претходно E_WARNING
беше емитувано, и false беше вратено,
|
Примери
Пример #1 Читање блок на споделена меморија
<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>
Овој пример ќе прочита 50 бајти од блок на споделена меморија и ќе ги смести податоците внатре $shm_data.
Види Исто така
- shmop_write() - Запиши податоци во блок на споделена меморија
Белешки од корисници 4 белешки
Крег Менли ¶
21 години пред
macmaster на pobox точка com ¶
figroc at gmail dot com
When i need to read the whole string at that shm pointer, setting the count parameter to zero (0) seems work for me.
michael точка wuertz на six точка de ¶
пред 4 години
With shmop_read, you probably get a "\0" - padded string.
$zero_padded = shmop_read($shm_seg, 0, 128);
$usable_string = rtrim($zero_padded, "\0");
slavapl на mailandnews точка com ¶
figroc at gmail dot com
Also you can use the shmop_size() function to determine the block size.