<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.stream.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.stream-notification-callback.php',
    1 => 'stream_notification_callback',
    2 => 'notification bağlam bağımsız değişkeni i&ccedil;in bir
  geri &ccedil;ağırım işlevi',
  ),
  'up' => 
  array (
    0 => 'ref.stream.php',
    1 => 'Akım İşlevleri',
  ),
  'prev' => 
  array (
    0 => 'function.stream-isatty.php',
    1 => 'stream_isatty',
  ),
  'next' => 
  array (
    0 => 'function.stream-register-wrapper.php',
    1 => 'stream_register_wrapper',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'reference/stream/functions/stream-notification-callback.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.stream-notification-callback" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">stream_notification_callback</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.2.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">stream_notification_callback</span> &mdash; <span class="dc-title"><code class="literal">notification</code> bağlam bağımsız değişkeni için bir
  geri çağırım işlevi</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.stream-notification-callback-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><span class="replaceable">stream_notification_callback</span></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$bildirim_kodu</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$önem</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$ileti</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$ileti_kodu</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$bayt_sayısı</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$azami_bayt_sayısı</code></span><br>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <p class="para rdfs-comment">
   Bir olay sırasında çağrılmak üzere <code class="literal">notification</code> <a href="context.params.php#context.params.notification" class="link">bağlam bağımsız değişkeni</a> tarafından
   kullanılan bir geriçağırım işlevi.
  </p>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Bu gerçek bir işlev olmayıp, kullanacağınız işlevin bir örneği olarak
    tasarlanmıştır.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.stream-notification-callback-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">bildirim_kodu</code></dt>
     <dd>
      <p class="para">
       <strong><code>STREAM_NOTIFY_*</code></strong> bildirim sabitlerinden biri.
      </p>
     </dd>
    
    
     <dt><code class="parameter">önem</code></dt>
     <dd>
      <p class="para">
       <strong><code>STREAM_NOTIFY_SEVERITY_*</code></strong> bildirim sabitlerinden biri.
      </p>
     </dd>
    
    
     <dt><code class="parameter">ileti</code></dt>
     <dd>
      <p class="para">
       Olayı açıklayan bir ileti.
      </p>
     </dd>
    
    
     <dt><code class="parameter">ileti_kodu</code></dt>
     <dd>
      <p class="para">
       Olay için kullanılabilecek açıklayıcı bir ileti kodu.
      </p>
      <p class="para">
       Bu değerin anlamı kullanılacak sarmalayıcıya bağlıdır.
      </p>
     </dd>
    
    
     <dt><code class="parameter">bayt_sayısı</code></dt>
     <dd>
      <p class="para">
       Uygulanabilirse, aktarılacak baytların sayısı.
      </p>
     </dd>
    
    
     <dt><code class="parameter">azami_bayt_sayısı</code></dt>
     <dd>
      <p class="para">
       Uygulanabilirse, aktarılacak baytların azami sayısı.
      </p>
     </dd>
    

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


 <div class="refsect1 returnvalues" id="refsect1-function.stream-notification-callback-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Hiçbir değer dönmez.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.stream-notification-callback-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="stream-notification-callback.example.basic">
    <p><strong>Örnek 1 - <span class="function"><strong>stream_notification_callback()</strong></span> örneği</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">stream_notification_callback</span><span style="color: #007700">(</span><span style="color: #0000BB">$bildirim_kodu</span><span style="color: #007700">, </span><span style="color: #0000BB">$önem</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">,<br />                      </span><span style="color: #0000BB">$ileti_kodu</span><span style="color: #007700">, </span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">, </span><span style="color: #0000BB">$azami_bayt_sayısı</span><span style="color: #007700">) {<br /><br />    switch(</span><span style="color: #0000BB">$bildirim_kodu</span><span style="color: #007700">) {<br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_RESOLVE</span><span style="color: #007700">:<br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_AUTH_REQUIRED</span><span style="color: #007700">:<br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_COMPLETED</span><span style="color: #007700">:<br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_FAILURE</span><span style="color: #007700">:<br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_AUTH_RESULT</span><span style="color: #007700">:<br />            </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$bildirim_kodu</span><span style="color: #007700">, </span><span style="color: #0000BB">$önem</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti_kodu</span><span style="color: #007700">,<br />                     </span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">, </span><span style="color: #0000BB">$azami_bayt_sayısı</span><span style="color: #007700">);<br />            </span><span style="color: #FF8000">/* yoksay */<br />            </span><span style="color: #007700">break;<br /><br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_REDIRECTED</span><span style="color: #007700">:<br />            echo </span><span style="color: #DD0000">"Yönlendirildiği yer: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">;<br />            break;<br /><br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_CONNECT</span><span style="color: #007700">:<br />            echo </span><span style="color: #DD0000">"Bağlandı..."</span><span style="color: #007700">;<br />            break;<br /><br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_FILE_SIZE_IS</span><span style="color: #007700">:<br />            echo </span><span style="color: #DD0000">"Alınan dosya boyu: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$azami_bayt_sayısı</span><span style="color: #007700">;<br />            break;<br /><br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_MIME_TYPE_IS</span><span style="color: #007700">:<br />            echo </span><span style="color: #DD0000">"Bulunan MIME türü: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">;<br />            break;<br /><br />        case </span><span style="color: #0000BB">STREAM_NOTIFY_PROGRESS</span><span style="color: #007700">:<br />            echo </span><span style="color: #DD0000">"Biraz işlem yapılıp, "</span><span style="color: #007700">, </span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">, </span><span style="color: #DD0000">" bayt indirildi"</span><span style="color: #007700">;<br />            break;<br />    }<br />    echo </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$ctx </span><span style="color: #007700">= </span><span style="color: #0000BB">stream_context_create</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">stream_context_set_params</span><span style="color: #007700">(</span><span style="color: #0000BB">$ctx</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"notification" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"stream_notification_callback"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://php.net/contact"</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">, </span><span style="color: #0000BB">$ctx</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Bağlandı...
Bulunan MIME türü: text/html; charset=utf-8
Yönlendirildiği yer: http://no.php.net/contact
Bağlandı...
Alınan dosya boyu: 0
Bulunan MIME türü: text/html; charset=utf-8
Yönlendirildiği yer: http://no.php.net/contact.php
Bağlandı...
Alınan dosya boyu: 4589
Bulunan MIME türü: text/html;charset=utf-8
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 1440 bayt indirildi
Biraz işlem yapılıp, 2880 bayt indirildi
Biraz işlem yapılıp, 4320 bayt indirildi
Biraz işlem yapılıp, 5760 bayt indirildi
Biraz işlem yapılıp, 6381 bayt indirildi
Biraz işlem yapılıp, 7002 bayt indirildi</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="stream-notification-callback.example.download">
    <p><strong>Örnek 2 - Komut satırı istemcisi için basit  bir ilerleme çubuğu</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">usage</span><span style="color: #007700">(</span><span style="color: #0000BB">$argv</span><span style="color: #007700">) {<br />    echo </span><span style="color: #0000BB">Kullanım</span><span style="color: #007700">:</span><span style="color: #0000BB">\n</span><span style="color: #DD0000">";<br />    printf("</span><span style="color: #0000BB">\tphp </span><span style="color: #007700">%</span><span style="color: #0000BB">s </span><span style="color: #007700">&lt;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//example.com/file&gt; &lt;yereldosya&gt;\n", $argv[0]);<br />    </span><span style="color: #007700">exit(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />}<br /><br />function </span><span style="color: #0000BB">stream_notification_callback</span><span style="color: #007700">(</span><span style="color: #0000BB">$bildirim_kodu</span><span style="color: #007700">, </span><span style="color: #0000BB">$önem</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">,<br />                      </span><span style="color: #0000BB">$ileti_kodu</span><span style="color: #007700">, </span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">, </span><span style="color: #0000BB">$azami_bayt_sayısı</span><span style="color: #007700">) {<br />    static </span><span style="color: #0000BB">$dosyaboyu </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br /><br />    switch(</span><span style="color: #0000BB">$bildirim_kodu</span><span style="color: #007700">) {<br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_RESOLVE</span><span style="color: #007700">:<br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_AUTH_REQUIRED</span><span style="color: #007700">:<br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_COMPLETED</span><span style="color: #007700">:<br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_FAILURE</span><span style="color: #007700">:<br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_AUTH_RESULT</span><span style="color: #007700">:<br />        </span><span style="color: #FF8000">/* yoksay */<br />        </span><span style="color: #007700">break;<br /><br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_REDIRECTED</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"Yönlendirildiği yer: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        break;<br /><br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_CONNECT</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"Bağlandı...\n"</span><span style="color: #007700">;<br />        break;<br /><br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_FILE_SIZE_IS</span><span style="color: #007700">:<br />        </span><span style="color: #0000BB">$dosyaboyu </span><span style="color: #007700">= </span><span style="color: #0000BB">$azami_bayt_sayısı</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">"Dosya uzunluğu: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$dosyaboyu</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        break;<br /><br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_MIME_TYPE_IS</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"MIME türü: "</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        break;<br /><br />    case </span><span style="color: #0000BB">STREAM_NOTIFY_PROGRESS</span><span style="color: #007700">:<br />        if (</span><span style="color: #0000BB">$bayt_sayısı </span><span style="color: #007700">&gt; </span><span style="color: #0000BB">0</span><span style="color: #007700">) {<br />            if (!isset(</span><span style="color: #0000BB">$dosyaboyu</span><span style="color: #007700">)) {<br />                </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\rDosya uzunluğu bilinmiyor... %2d kb alındı.."</span><span style="color: #007700">,<br />                      </span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">/</span><span style="color: #0000BB">1024</span><span style="color: #007700">);<br />            } else {<br />                </span><span style="color: #0000BB">$length </span><span style="color: #007700">= (int) ((</span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">/</span><span style="color: #0000BB">$dosyaboyu</span><span style="color: #007700">)*</span><span style="color: #0000BB">100</span><span style="color: #007700">);<br />                </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\r[%-100s] %%%d (%2d/%2d kb)"</span><span style="color: #007700">, </span><span style="color: #0000BB">str_repeat</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,<br />                </span><span style="color: #0000BB">$length</span><span style="color: #007700">). </span><span style="color: #DD0000">"&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$length</span><span style="color: #007700">, (</span><span style="color: #0000BB">$bayt_sayısı</span><span style="color: #007700">/</span><span style="color: #0000BB">1024</span><span style="color: #007700">), </span><span style="color: #0000BB">$dosyaboyu</span><span style="color: #007700">/</span><span style="color: #0000BB">1024</span><span style="color: #007700">);<br />            }<br />        }<br />        break;<br />    }<br />}<br /><br />isset(</span><span style="color: #0000BB">$argv</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">], </span><span style="color: #0000BB">$argv</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">]) or </span><span style="color: #0000BB">usage</span><span style="color: #007700">(</span><span style="color: #0000BB">$argv</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$ctx </span><span style="color: #007700">= </span><span style="color: #0000BB">stream_context_create</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">stream_context_set_params</span><span style="color: #007700">(</span><span style="color: #0000BB">$ctx</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"notification" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"stream_notification_callback"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">$argv</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">], </span><span style="color: #DD0000">"r"</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">, </span><span style="color: #0000BB">$ctx</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">is_resource</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">) &amp;&amp; </span><span style="color: #0000BB">file_put_contents</span><span style="color: #007700">(</span><span style="color: #0000BB">$argv</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">], </span><span style="color: #0000BB">$fp</span><span style="color: #007700">)) {<br />    echo </span><span style="color: #DD0000">"\nBitti!\n"</span><span style="color: #007700">;<br />    exit(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$err </span><span style="color: #007700">= </span><span style="color: #0000BB">error_get_last</span><span style="color: #007700">();<br />echo </span><span style="color: #DD0000">"\nHataaaa..\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$err</span><span style="color: #007700">[</span><span style="color: #DD0000">"message"</span><span style="color: #007700">], </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />exit(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
     Yukarıdaki örneği şu komutla çalıştıralım:
     <code class="literal">php -n fetch.php
     http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror
     php-latest.tar.bz2</code>. Çıktı şöyle olacaktır:
    </p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Bağlandı...
MIME türü: text/html; charset=utf-8
Yönlendirildiği yer: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Bağlandı...
Dosya uzunluğu: 7773024
MIME türü: application/octet-stream
[===============&gt;                       ] %40 (3076/7590 kb)</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.stream-notification-callback-seealso">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="context.params.php" class="xref">Bağlam bağımsız değişkenleri</a></li>
   </ul>
  </p>
 </div>


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