PHP.mk документација

shmop_write

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.shmop-write.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.shmop-write.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
shmop_write

Референца за `function.shmop-write.php` со подобрена типографија и навигација.

function.shmop-write.php

shmop_write

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_write(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

= NULL

shmop_write() Запиши податоци во блок за споделена меморија

Параметри

shmop
ќе запише стринг во блок за споделена меморија. shmop_open()
data
Идентификатор на блокот за споделена меморија креиран од
offset
Стринг за запишување во блок за споделена меморија

Вратени вредности

Определува каде да се започне со запишување податоци во сегментот за споделена меморија. Поместувањето мора да биде поголемо или еднакво на нула и помало или еднакво на вистинската големина на сегментот за споделена меморија. data.

Errors/Exceptions

Враќа offset Големината на запишаното ValueError се фрла.

Дневник на промени

Верзија = NULL
8.0.0 за пишување (оставјајќи го стрингот недопрен). false е надвор од опсег, или треба да се запише во сегмент за споделена меморија само за читање, а
8.0.0 shmop беше вратено при неуспех. Функции за споделена меморија инстанца сега; претходно, а resource се очекуваше.

Примери

очекува

<?php
$shm_bytes_written
= shmop_write($shm_id, $my_string, 0);
?>

Пример #1 Запишување во блок за споделена меморија $my_string Овој пример ќе запише податоци внатре $shm_bytes_written во блок за споделена меморија,

Види Исто така

  • shmop_read() ќе го содржи бројот на запишани бајти.

Белешки од корисници 2 забелешки

mark на manngo точка net
3 години пред
On thing you might want to do is replace an old string with a shorter one, or to clear out the string altogether.

To replace the string, you can zero-byte pad the string you are writing:

<?php
    //    $shmid is from shmop_open()
    $size = 128;
    $string = 'something';

    //    write
        $string = str_pad(string, $size, "\0");
        shmop_write($shmid, $string, 0);

    //    read
        print rtrim(shmop($shmid,0,0),,"\0");

    //    clear
        $string = str_repeat("\0",$size);
        shmop_write($shmid, $string, 0);
?>
- Читај податоци од блок за споделена меморија
пред 5 години
I guess pack-unpack are the handy functions for encoding/decoding data as/from a binary string for shmop_write/shmop_read. Example:

$format='LLLLSSCCCC';  //data format for pack
$key=1; 
if( !($shmid=shmop_open($key,'n',0660,30)) )
  die('shmop_open failed.'); 

//my data to encode:
$hd=array('ALIVE1'=>1,'ALIVE2'=>2,'ALIVE3'=>3,'ALIVE4'=>4,
      'CRTPTR'=>5,'CRTSEQ'=>6,
      'CTW'=>7,'LOCK'=>8,'PLAY'=>9,'MISS'=>10
);

$tmp=pack( $format, $hd['ALIVE1'],$hd['ALIVE2'],$hd['ALIVE3'],$hd['ALIVE4'],  $hd['CRTPTR'],$hd['CRTSEQ'],$hd['CTW'],$hd['LOCK'],$hd['PLAY'],$hd['MISS'] );

if( ($w=shmop_write($shmid,$tmp,0))!=24 )
  die('write error $w='.$w);

And reading from some other process:
$key=1; 
if( !($shmid=shmop_open($key,'w',0,0)) )
  die('shmop_open failed.'); 

$formatR='L4ALIVE/SCRTPTR/SCRTSEQ/CCTW/CLOCK/CPLAY/CMISS'; //data format for unpack

$hd=unpack( $formatR, shmop_read( $shmid,0,24) );
echo'hd:<pre>';print_r($hd);echo'</pre>';
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.