<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.wincache.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.wincache-lock.php',
    1 => 'wincache_lock',
    2 => 'Acqui&egrave;re un verrou exclusif sur une cl&eacute; donn&eacute;e',
  ),
  'up' => 
  array (
    0 => 'ref.wincache.php',
    1 => 'Fonctions WinCache',
  ),
  'prev' => 
  array (
    0 => 'function.wincache-fcache-meminfo.php',
    1 => 'wincache_fcache_meminfo',
  ),
  'next' => 
  array (
    0 => 'function.wincache-ocache-fileinfo.php',
    1 => 'wincache_ocache_fileinfo',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/wincache/functions/wincache-lock.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.wincache-lock" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">wincache_lock</h1>
  <p class="verinfo">(PECL wincache &gt;= 1.1.0)</p><p class="refpurpose"><span class="refname">wincache_lock</span> &mdash; <span class="dc-title">Acquière un verrou exclusif sur une clé donnée</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.wincache-lock-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>wincache_lock</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$key</code></span>, <span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$isglobal</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   Obtient un verrou exclusif sur une clé donnée. L&#039;exécution du script courant sera bloqué
   tant que le verrou ne pourra pas être obtenu. Une fois le verrou obtenu, les autres scripts
   tentant de requérir le verrou en utilisant la même clé seront bloqués, tant que le script courant
   n&#039;aura pas libéré le verrou en utilisant la fonction <span class="function"><a href="function.wincache-unlock.php" class="function">wincache_unlock()</a></span>.
  </p>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="simpara">
    L&#039;utilisation de la fonction <span class="function"><strong>wincache_lock()</strong></span> et de la fonction
    <span class="function"><a href="function.wincache-unlock.php" class="function">wincache_unlock()</a></span> peut conduire à des verrous morts lors de l&#039;exécution
    de scripts PHP sur des environnements multiprocessus, comme FastCGI. N&#039;utiliser pas ces fonctions
    à moins d&#039;être absolument certain d&#039;en avoir besoin. Pour la majorité des opérations sur
    le cache utilisateur, il n&#039;est pas nécessaire de les utiliser.
   </p>
  </div>
 </div>

 <div class="refsect1 parameters" id="refsect1-function.wincache-lock-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">key</code></dt>
     <dd>
      <p class="para">
       Nom de la clé du cache dont nous souhaitons obtenir un verrou.
      </p>
     </dd>
    
    
     <dt><code class="parameter">isglobal</code></dt>
     <dd>
      <p class="para">
       Contrôle si le contexte du verrou est local ou au niveau système. Les verrous locaux
       ont un contexte au niveau applicatif dans le cas de l&#039;utilisation sous IIS Fast CGI ou
       au niveau de tous les processus PHP qui ont le même identifiant parent de processus.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.wincache-lock-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Cette fonction retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en cas de succès ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>

 <div class="refsect1 examples" id="refsect1-function.wincache-lock-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>wincache_lock()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"/tmp/lock.txt"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r+"</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">wincache_lock</span><span style="color: #007700">(</span><span style="color: #0000BB">“lock_txt_lock”</span><span style="color: #007700">)) { </span><span style="color: #FF8000">// obtient un verrou exclusif<br />    </span><span style="color: #0000BB">ftruncate</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">); </span><span style="color: #FF8000">// tronque le fichier<br />    </span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #DD0000">"On écrit quelque chose ici\n"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">wincache_unlock</span><span style="color: #007700">(</span><span style="color: #0000BB">“lock_txt_lock”</span><span style="color: #007700">); </span><span style="color: #FF8000">// libère le verrou<br /></span><span style="color: #007700">} else {<br />    echo </span><span style="color: #DD0000">"Impossible d'obtenir le verrou !"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.wincache-lock-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.wincache-unlock.php" class="function" rel="rdfs-seeAlso">wincache_unlock()</a> - Lib&egrave;re un verrou exclusif sur une cl&eacute; donn&eacute;e</span></li>
    <li><span class="function"><a href="function.wincache-ucache-set.php" class="function" rel="rdfs-seeAlso">wincache_ucache_set()</a> - Ajoute une variable au cache utilisateur et &eacute;crase la variable si elle existe d&eacute;j&agrave; dans le cache</span></li>
    <li><span class="function"><a href="function.wincache-ucache-get.php" class="function" rel="rdfs-seeAlso">wincache_ucache_get()</a> - R&eacute;cup&egrave;re une variable stock&eacute;e dans le cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-ucache-delete.php" class="function" rel="rdfs-seeAlso">wincache_ucache_delete()</a> - Supprime les variables du cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-ucache-clear.php" class="function" rel="rdfs-seeAlso">wincache_ucache_clear()</a> - Supprime le contenu d'une entr&eacute;e du cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-ucache-exists.php" class="function" rel="rdfs-seeAlso">wincache_ucache_exists()</a> - V&eacute;rifie si une variable existe dans le cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-ucache-meminfo.php" class="function" rel="rdfs-seeAlso">wincache_ucache_meminfo()</a> - R&eacute;cup&egrave;re des informations sur l'utilisation m&eacute;moire du cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-ucache-info.php" class="function" rel="rdfs-seeAlso">wincache_ucache_info()</a> - R&eacute;cup&egrave;re des informations sur des donn&eacute;es stok&eacute;es dans le cache utilisateur</span></li>
    <li><span class="function"><a href="function.wincache-scache-info.php" class="function" rel="rdfs-seeAlso">wincache_scache_info()</a> - R&eacute;cup&egrave;re des informations sur des fichiers mis en cache</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>