cynic Mon Feb 5 04:46:49 2001 EDT Added files: /phpdoc/cs/functions shmop.xml Log: should be completely translated
Index: phpdoc/cs/functions/shmop.xml +++ phpdoc/cs/functions/shmop.xml <reference id="ref.shmop"> <title>Funkce pro práci se sdílenou pamětí</title> <titleabbrev>shmop</titleabbrev> <partintro> <para> Shmop snadno použitelná sada funkcí, která PHP umožňuje číst, zapisovat, vytvářet a mazat segmenty UNIXové sdílené paměti. Tyto funkce na Windows nefungují, protože tento systém nepodporuje sdílenou paměť. Pokud chcete shmop používat, budete muset PHP zkompilovat s <option role="configure">--enable-shmop</option>. </para> <note> <simpara> Názvy funkcí popisovaných v této kapitole začínají v PHP 4.0.3 na <function>shm_</function>, ale od PHP 4.0.4 se jejich názvy změnily na <function>shmop_</function>. </simpara> </note> <para> <example> <title>Přehled operací se sdílenou pamětí</title> <programlisting role="php"> <?php // Vytvořit 100 bytový blok sdílené paměti se system id 0xff3 $shm_id = shmop_open(0xff3, "c", 0644, 100); if(!$shm_id) { echo "Nepodařilo se vytvořit segment sdílené paměti\n"; } // Zjistit velikost bloku sdílené paměti $shm_size = shmop_size($shm_id); echo "SHM blok o velikosti : ".$shm_size. " byl vytvořen.\n"; // Zapíšeme do sdílené paměti zkušební řetězec $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0); if($shm_bytes_written != strlen("můj blok sdílené paměti")) { echo "Nepodařilo se zapsat kompletní data\n"; } // Načteme řetězec zpátky $my_string = shmop_read($shm_id, 0, $shm_size); if(!$my_string) { echo "Nepodařilo se číst z bloku sdílené paměti\n"; } echo "Data ve sdílené paměti byla: ".$my_string."\n"; //Smažeme tento blok a zavřeme segment sdílené paměti if(!shmop_delete($shm_id)) { echo "Nepodařilo se smazat blok sdílené paměti."; } shmop_close($shm_id); ?> </programlisting> </example> </para> </partintro> <refentry id="function.shmop_open"> <refnamediv> <refname>shmop_open</refname> <refpurpose>Vytvořit nebo otevřít blok sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shmop_open</function></funcdef> <paramdef>int <parameter>key</parameter></paramdef> <paramdef>string <parameter>flags</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_open</function> vytvoří nebo otevře blok sdílené paměti. </para> <para> <function>shmop_open</function> přijímá 4 argumenty: klíč, což je system id bloku sdílené paměti; tento argument může být předán jako desítkové nebo hexadecimální číslo. Druhý argument jsou parametry: <itemizedlist> <listitem> <simpara> "a" pro přístup (nastavuje IPC_EXCL) tento parametr použijte, pokud chcete otevřít existující segment sdílené paměti </simpara> </listitem> <listitem> <simpara> "c" pro vytvoření (nastavuje IPC_CREATE) tento parametr použijte, pokud chcete vytvořit nový segment sdílené paměti </simpara> </listitem> </itemizedlist> Třetí argument je mód, což jsou přístupová práva, která chcete tomuto segmentu přiřadit; jsou stejná jako práva pro soubory. Přístupová práva musí být předána jako oktalové číslo, např. 0644. Poslední argument je velikost bloku sdílené paměti, který chcete vytvořit, v bytech. <note><simpara> Pozn.: Pokud otvíráte existující segment paměti, 3. 4. argument by měly být předány jako 0. Při úspěchu <function>shmop_open</function> vrací id, které můžete použít k přístupu na tento segment sdílené paměti. </simpara></note> </para> <para> <example> <title>Vytvoření bloku sdílené paměti</title> <programlisting role="php"> <?php $shm_id = shmop_open(0x0fff, "c", 0644, 100); ?> </programlisting> </example> </para> <para> Tato ukázka otevřela blok sdílené paměti se system id 0x0fff. </para> </refsect1> </refentry> <refentry id="function.shmop_read"> <refnamediv> <refname>shmop_read</refname> <refpurpose>Přečíst data z bloku sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>string <function>shmop_read</function></funcdef> <paramdef>int <parameter>shmid</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter>count</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_read</function> čte řetězec z bloku sdílené paměti. </para> <para> <function>shmop_read</function> přijímá 3 argumenty: <parameter>shmid</parameter>, což je id bloku sdílené paměti vytvořeného funkcí <function>shmop_open</function>, <parameter>start</parameter>, což je offset na kterém má čtení začít, a <parameter>count</parameter>, což je počet bytů, které se mají přečíst. </para> <para> <example> <title>Čtení bloku sdílené paměti</title> <programlisting role="php"> <?php $shm_data = shmop_read($shm_id, 0, 50); ?> </programlisting> </example> </para> <para> Tato ukázka přečte z bloku sdílené paměti 50 bytů a umístí načtená data do <literal>$shm_data</literal>. </para> </refsect1> </refentry> <refentry id="function.shmop_write"> <refnamediv> <refname>shmop_write</refname> <refpurpose>Zapsat data do bloku sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shmop_write</function></funcdef> <paramdef>int <parameter>shmid</parameter></paramdef> <paramdef>string <parameter>data</parameter></paramdef> <paramdef>int <parameter>offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_write</function> zapíše řetězec do bloku sdílené paměti. </para> <para> <function>shmop_write</function> přijímá 3 argumenty: <parameter>shmid</parameter>, což je id bloku sdílené paměti vytvořeného funkcí <function>shmop_open</function>, <parameter>data</parameter>, což je řetězec, který se zapíše do bloku sdílené paměti, a <parameter>offset</parameter>, což je offset na kterém má zápis začít. </para> <para> <example> <title>Zápis do bloku sdílené paměti</title> <programlisting role="php"> <?php $shm_bytes_written = shmop_write($shm_id, $my_string, 0); ?> </programlisting> </example> </para> <para> Tato ukázka zapíše data obsažená v <literal>$my_string</literal> do bloku sdílené paměti, a <literal>$shm_bytes_written</literal> obsahuje počet zapsaných bytů. </para> </refsect1> </refentry> <refentry id="function.size"> <refnamediv> <refname>shmop_size</refname> <refpurpose>Zjistit velikost bloku sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shmop_size</function></funcdef> <paramdef>int <parameter>shmid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_size</function> se používá ke zjištění velikosti bloku sdílené paměti v bytech. </para> <para> <function>shmop_size</function> přijímá <parameter>shmid</parameter>, což je idenfifikátor vytvořený funkcí <function>shmop_open</function>. <function>shmop_size</function> vrací integer představující počet bytů, které blok sdílené paměti zabírá. </para> <para> <example> <title>Zjištění velikosti bloku sdílené paměti</title> <programlisting role="php"> <?php $shm_size = shmop_size($shm_id); ?> </programlisting> </example> </para> <para> Tato ukázka zapíše velikost bloku sdílené paměti určeného identifikátorem <literal>$shm_id</literal> do <literal>$shm_size</literal>. </para> </refsect1> </refentry> <refentry id="function.shmop_delete"> <refnamediv> <refname>shmop_delete</refname> <refpurpose>Smazat blok sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shmop_delete</function></funcdef> <paramdef>int <parameter>shmid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_delete</function> se používá ke smazání bloku sdílené paměti. </para> <para> <function>shmop_delete</function> přijímá <parameter>shmid</parameter>, což je identifikátor bloku sdílené paměti vytvořený funkcí <function>shmop_open</function>. Při úspěchu vrací 1, jinak 0. </para> <para> <example> <title>Smazání bloku sdílené paměti</title> <programlisting role="php"> <?php shmop_delete($shm_id); ?> </programlisting> </example> </para> <para> Tato ukázka smaže blok sdílené paměti pojmenovaný <literal>$shm_id</literal>. </para> </refsect1> </refentry> <refentry id="function.shmop_close"> <refnamediv> <refname>shmop_close</refname> <refpurpose>Zavřít blok sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shmop_close</function></funcdef> <paramdef>int <parameter>shmid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shmop_close</function> se používá k zavření bloku sdílené paměti. </para> <para> <function>shmop_close</function> přijímá <parameter>shmid</parameter>, což je identifikátor bloku sdílené paměti vytvořený funkcí <function>shmop_open</function>. </para> <para> <example> <title>Zavření bloku sdílené paměti</title> <programlisting role="php"> <?php shmop_close($shm_id); ?> </programlisting> </example> </para> <para> Tato ukázka zavře blok sdílené paměti pojmenovaný <literal>$shm_id</literal>. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->