<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.filesystem.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.fopen.php',
    1 => 'fopen',
    2 => 'Bir dosya veya URL\'yi a&ccedil;ar',
  ),
  'up' => 
  array (
    0 => 'ref.filesystem.php',
    1 => 'Dosya Sistemi İşlevleri',
  ),
  'prev' => 
  array (
    0 => 'function.fnmatch.php',
    1 => 'fnmatch',
  ),
  'next' => 
  array (
    0 => 'function.fpassthru.php',
    1 => 'fpassthru',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'reference/filesystem/functions/fopen.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.fopen" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">fopen</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">fopen</span> &mdash; <span class="dc-title">Bir dosya veya URL&#039;yi açar</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.fopen-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>fopen</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$dosyaismi</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$kip</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$include_path_kullan</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></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.resource.php" class="type resource">resource</a></span></span> <code class="parameter">$bağlam</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span><br>): <span class="type"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>fopen()</strong></span> işlevi <code class="parameter">dosyaismi</code> ile
   belirtilen özkaynak için bir akım açar.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.fopen-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">dosyaismi</code></dt>
     <dd>
      <p class="para">
       Eğer <code class="parameter">dosyaismi</code> &quot;şema://...&quot;, biçeminde
       belirtilmişse bir URL belirtildiği varsayılır ve PHP bu şema için bir
       protokol eylemcisi (başka bir deyişle bir sarmalayıcı) bulmaya çalışır.
       Eğer bu protokol için kayıtlı bir sarmalayıcı yoksa PHP, sorunun
       giderilmesine yardımcı olmanız için bir uyarı verip belirtilen dosya
       ismini sıradan bir dosya gibi ele alarak işleme devam eder.
      </p>
      <p class="para">
       Eğer PHP <code class="parameter">dosyaismi</code> ile belirtilen dosyanın bir
       yerel dosya olduğuna karar verirse bu dosya üzerinde bir akım açmaya
       çalışır. Dosya PHP için erişilebilir olmalıdır, yani dosyanın bu erişim
       için yeterli izinlere sahip olduğundan emin olmanız gerekir.
       <a href="ini.core.php#ini.open-basedir" class="link">open_basedir</a> yönergesi
       etkinse bunlarla ilgili kısıtlamalar uygulanabilir.
      </p>
      <p class="para">
       Eğer PHP <code class="parameter">dosyaismi</code> ile belirtilen dosyanın bir
       URL olduğuna ve bununla ilgili kayıtlı bir protokol olduğuna karar
       verirse ve bu protokol bir ağ protokolü olarak kaydedilmişse PHP <a href="filesystem.configuration.php#ini.allow-url-fopen" class="link">allow_url_fopen</a> yönergesinin etkin
       olup olmadığına bakar. Eğer yönergeye &#039;Off&#039; değeri atanmışsa PHP bir
       uyarı verip işlevin başarısız olmasını sağlar.
      </p>
      <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
       <p class="para">
        Desteklenen protokolleri <a href="wrappers.php" class="xref">Desteklenen Protokoller ve Sarmalayıcılar</a> bölümünde
        bulabilirsiniz. Bazı protokoller (<code class="literal">sarmalayıcılar</code>)
        <code class="literal">bağlam</code> ve/veya <var class="filename">php.ini</var> seçeneklerini destekler.
        Kullanılabilecek seçeneklerin neler olduğunu öğrenmek için protokolle
        ilgili sayfaya bakınız (örneğin, <code class="literal">http</code> sarmalayıcısı
        <code class="literal">user_agent</code> <var class="filename">php.ini</var> yönergesini kullanır).
       </p>
      </p></blockquote>
      <p class="para">
       Windows platformunda dosya yolunu belirtmekte kullanılan tersbölü
       çizgilerini öncelemeyi unutmayın. Daha da iyisi dosya yolunu belirtmek
       için bölü çizgilerini kullanın. Örnek:
       <div class="informalexample">
        <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$dt </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"c:\\dizin\\kaynak.txt"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
        </div>

       </div>
      </p>
     </dd>
    
    
     <dt><code class="parameter">kip</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">kip</code> bağımsız değişkeninde akım için gerekli erişim
       türü belirtilir. Şunlardan biri olabilir:
       <table class="doctable table">
        <caption><strong><span class="function"><strong>fopen()</strong></span> işlevinin <code class="parameter">kip</code>
        bağımsız değişkeninde belirtilebilecek kip çeşitleri</strong></caption>
        
         <thead>
          <tr>
           <th><code class="parameter">Kip</code></th>
           <th>Açıklama</th>
          </tr>

         </thead>

         <tbody class="tbody">
          <tr>
           <td><code class="literal">&#039;r&#039;</code></td>
           <td>
            Akım sadece okumak için açılır; dosya konumlayıcı dosyanın
            başlangıcına yerleştirilir.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;r+&#039;</code></td>
           <td>
            Akım hem okumak hem de yazmak için açılır; dosya konumlayıcı
            dosyanın başlangıcına yerleştirilir.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;w&#039;</code></td>
           <td>
            Akım sadece yazmak için açılır; dosya konumlayıcı dosyanın
            başlangıcına yerleştirilir ve dosya uzunluğu sıfır yapılır. Dosya
            mevcut değilse oluşturulmaya çalışılır.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;w+&#039;</code></td>
           <td>
            Akım hem okumak hem de yazmak için açılması dışında
            <code class="literal">&#039;w&#039;</code> gibidir.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;a&#039;</code></td>
           <td>
            Akım sadece yazmak için açılır; dosya konumlayıcı dosyanın
            sonuna yerleştirilir. Dosya mevcut değilse oluşturulmaya çalışılır.
            <span class="function"><a href="function.fseek.php" class="function">fseek()</a></span> işlevi bu kipte etkisiz olup daima
            dosyanın sonuna yazar.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;a+&#039;</code></td>
           <td>
            Akım hem okumak hem de yazmak için açılır; dosya konumlayıcı
            dosyanın sonuna yerleştirilir. Dosya mevcut değilse oluşturulmaya
            çalışılır.
            <span class="function"><a href="function.fseek.php" class="function">fseek()</a></span> işlevi bu kipte etkisiz olup daima
            dosyanın sonuna yazar.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;x&#039;</code></td>
           <td>
            Dosya oluşturulur ve sadece yazmak için açılır; dosya konumlayıcı
            dosyanın başlangıcına yerleştirilir. Dosya zaten mevcutsa
            <span class="function"><strong>fopen()</strong></span> <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürürek başarısız olur ve
            <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> seviyesinde bir hata üretir. Dosya
            mevcut değilse oluşturulmaya çalışılır. Bu işlem,
            <code class="literal">open(2)</code> sistem çağrısı için
            <code class="literal">O_EXCL|O_CREAT</code> seçeneklerini belirtmeye
            eşdeğerdir.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;x+&#039;</code></td>
           <td>
            Dosya oluşturulur ve hem okumak hem de yazmak için açılır; aksi takdirde <code class="literal">&#039;x&#039;</code> verilmiş gibi davranır.
            eşdeğerdir.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;c&#039;</code></td>
           <td>
            Dosya yalnızca yazmak için açılır. Dosya yoksa oluşturulur. Varsa,
            ne kesilir (<code class="literal">&#039;w&#039;</code> bağımsız değişkenininin aksine),
            ne de bu işleve yapılan çağrı başarısız olur
            (<code class="literal">&#039;x&#039;</code> durumunda olduğu gibi). Dosya konumlayıcı
            dosyanın başlangıcına yerleştirilir. Dosyayı değiştirmeye
            çalışmadan önce bir tavsiye kilidi (<span class="function"><a href="function.flock.php" class="function">flock()</a></span>
            bölümüne bakın) isteniyorsa bu yararlı olabilir,
            <code class="literal">&#039;w&#039;</code> kullanımındaki gibi kilitlenmeden önce
            dosyayı kesebilir (kesme istenirse, kilit talep edildikten sonra
            <span class="function"><a href="function.ftruncate.php" class="function">ftruncate()</a></span>  kullanılabilir).
            requested).
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;c+&#039;</code></td>
           <td>
            Dosya hem okumak hem de yazmak için açılır; aksi takdirde,
            <code class="literal">&#039;c&#039;</code> bağımsız değişkenindeki gibi davranır.
           </td>
          </tr>

          <tr>
           <td><code class="literal">&#039;e&#039;</code></td>
           <td>
            Açık dosya konumlayıcıya close-on-exec bayrağını uygular. Sadece
            PHP, POSIX.1-2008 uyumlu sistemler üzerinde derlenmişse
            kullanılabilir.
           </td>
          </tr>

         </tbody>
        
       </table>

      </p>
      <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
       <p class="para">
        Her işletim sistemi ailesinin farklı satır sonlandırma kuralları
        vardır. Bir metin dosyasını yazarken işletim sisteminizin gerektirdiği
        satır sonlandırma karakterlerini kullanmanız gerekir. Unix ve
        türevleri satırları sonlandırmak için <code class="code">\n</code>, Windows
        ailesi <code class="code">\r\n</code>, Mac&#039;ler ise (Mac OS Classic)
        <code class="code">\r</code> karakterini kullanır.
       </p>
       <p class="para">
        Dosyalarınızı yazarken yanlış satır sonlandırma karakterleri
        kullanırsanız, dosyayı başka uygulamalarda açtığınızda tuhaf
        görünebilir.
       </p>
       <p class="para">
        Windows&#039;un <code class="code">\n</code> karakterlerini şeffaf olarak
        <code class="code">\r\n</code> karakterlerine dönüştürmesini sağlayan bir
        metin kipi dönüşüm seçeneği (<code class="literal">&#039;t&#039;</code>) vardır. Eğer
        satır sonlandırma karakterlerinin değişmeden kalmasını istiyorsanız
        ikil kipi devreye sokan <code class="literal">&#039;b&#039;</code> seçeneğini
        kullanabilirsiniz. Bu seçenekleri (<code class="literal">&#039;b&#039;</code> veya
        <code class="literal">&#039;t&#039;</code>) <code class="parameter">kip</code> bağımsız değişkeninde
        daima son karakter olarak belirtin.
       </p>
       <p class="para">
        Öntanımlı dönüşüm kipi <code class="literal">&#039;b&#039;</code>&#039;dir. Salt
        metin dosyalarla çalışıyorsanız ve betiğinizde satır sonu karakteri
        olarak <code class="code">\n</code> kullanıyorsanız, fakat dosyalarınızın
        notepad&#039;in eski sürümleri gibi uygulamalarla da okunabilmesini
        istiyorsanız <code class="literal">&#039;t&#039;</code> kipini kullanmanız, diğer tüm
        durumlarda ise <code class="literal">&#039;b&#039;</code> kipini kullanmanız gerekir.
       </p>
       <p class="para">
        İkil dosyalarla çalışırken &#039;t&#039; seçeneğini belirseniz, verinizle
        ilgili tuhaf sorunlarla karşılaşabilirsiniz (örneğin, bozuk görüntü
        dosyaları ve <code class="code">\r\n</code> karakterlerine bağlı tuhaf
        sorunlar).
       </p>
      </p></blockquote>
      <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
       <p class="para">
        Uyumluluk adına, dosyanızı <code class="literal">&#039;t&#039;</code> seçeneğinin
        kullanılmasını gerektirmeyecek satır sonlandırma karakterleri ile
        yazmanızı ve dosyayı açarken daima <code class="literal">&#039;b&#039;</code> seçeneğini
        kullanmanızı hararetle tavsiye ederiz.
       </p>
      </p></blockquote>
      <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
       <span class="simpara">
         <var class="filename">php://output</var>, <var class="filename">php://input</var>,
         <var class="filename">php://stdin</var>, <var class="filename">php://stdout</var>,
         <var class="filename">php://stderr</var> ve <var class="filename">php://fd</var>
         akım sarmalayıcıları için <code class="parameter">kip</code> yok sayılır.
       </span>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">include_path_kullan</code></dt>
     <dd>
      <p class="para">
       Açılacak dosyanın aranacağı yollara <a href="ini.core.php#ini.include-path" class="link">include_path</a> yönergesinde belirtilen
       yolların da eklenmesi için, isteğe bağlı olan bu üçüncü
       bağımsız değişkene <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> aktarılmalıdır.
      </p>
     </dd>
    
    
     <dt><code class="parameter">bağlam</code></dt>
     <dd>
      <p class="para">
<a href="stream.contexts.php" class="link">Akım bağlamı</a> özkaynağı.</p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.fopen-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Başarı durumunda bir dosya tanıtıcısı aksi takdirde <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döner.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.fopen-errors">
  <h3 class="title">Hatalar/İstisnalar</h3>
  <p class="para">Başarısızlık durumunda bir
<strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> çıktılanır.</p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.fopen-changelog">
  <h3 class="title">Sürüm Bilgisi</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Sürüm: </th>
       <th>Açıklama</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>7.0.16, 7.1.2</td>
       <td>
        <code class="literal">&#039;e&#039;</code> seçeneği eklendi.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.fopen-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - <span class="function"><strong>fopen()</strong></span> örnekleri</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$dt </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"/home/rasmus/file.txt"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$dt </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"/home/rasmus/file.gif"</span><span style="color: #007700">, </span><span style="color: #DD0000">"wb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$dt </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://www.example.com/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$dt </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"ftp://user:password@example.com/somefile.txt"</span><span style="color: #007700">, </span><span style="color: #DD0000">"w"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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


 <div class="refsect1 notes" id="refsect1-function.fopen-notes">
  <h3 class="title">Notlar</h3>
  <div class="warning"><strong class="warning">Uyarı</strong>
<p class="para">Microsoft IIS, SSL kullanırken bir <code class="literal">close_notify</code>
göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna
ulaştığınız zaman PHP bunu &quot;SSL: Fatal Protocol Error&quot; (SSL: &quot;Ölümcül Protokol
Hatası&quot;) olarak raporlar. Bu sorunu bertaraf etmek için
<a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> değerini uyarıları
içermeyecek bir seviyeye indirmek gerekir. PHP, akımı
<code class="literal">https://</code> şeması kullanılarak açılırsa
hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir
<code class="literal">ssl://</code> soketi oluşturmak için
<span class="function"><a href="function.fsockopen.php" class="function">fsockopen()</a></span> kullanılacaksa uyarıları saptayıp engellemekten
geliştirici sorumludur.</p></div>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    PHP&#039;nin sunucu modülü sürümünü kullanıyorsanız ve dosyaları okumak ve
    yazmak ile ilgili sorunlar bakımından deneyimliyseniz, sunucu sürecinin bu
    dosya ve dizinlere erişim izninin olması gerektiğini aklınızdan
    çıkarmamalısınız.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
    <p class="para">
     <code class="parameter">dosyaismi</code> bir dizin olduğunda da bu işlev başarılı
     olabilir. <code class="parameter">dosyaismi</code>&#039;nin bir dosya mı yoksa bir
     dizin mi olduğundan emin olamıyorsanız <span class="function"><strong>fopen()</strong></span> işlevini
     çağırmadan önce <span class="function"><a href="function.is-dir.php" class="function">is_dir()</a></span> kullanmanız gerekebilir.
   </p>
  </p></blockquote>
</div>


 <div class="refsect1 seealso" id="refsect1-function.fopen-seealso">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="wrappers.php" class="xref">Desteklenen Protokoller ve Sarmalayıcılar</a></li>
    <li><span class="function"><a href="function.fclose.php" class="function" rel="rdfs-seeAlso">fclose()</a> - A&ccedil;ık bir dosya tanıtıcısını kapatır</span></li>
    <li><span class="function"><a href="function.fgets.php" class="function" rel="rdfs-seeAlso">fgets()</a> - Dosya tanıtıcısından bir satır d&ouml;nd&uuml;r&uuml;r</span></li>
    <li><span class="function"><a href="function.fread.php" class="function" rel="rdfs-seeAlso">fread()</a> - Dosyayı ikil kipte okur</span></li>
    <li><span class="function"><a href="function.fwrite.php" class="function" rel="rdfs-seeAlso">fwrite()</a> - Dosyaya ikil kipte yazar</span></li>
    <li><span class="function"><a href="function.fsockopen.php" class="function" rel="rdfs-seeAlso">fsockopen()</a> - Bir internet veya Unix alan soketi bağlantısı a&ccedil;ar</span></li>
    <li><span class="function"><a href="function.file.php" class="function" rel="rdfs-seeAlso">file()</a> - Dosya i&ccedil;eriğinin tamamını bir diziye okur</span></li>
    <li><span class="function"><a href="function.file-exists.php" class="function" rel="rdfs-seeAlso">file_exists()</a> - Bir dosya veya dizinin mevcut olup olmadığına bakar</span></li>
    <li><span class="function"><a href="function.is-readable.php" class="function" rel="rdfs-seeAlso">is_readable()</a> - Bir dosyanın mevcut ve okunabilir olup olmadığını s&ouml;yler</span></li>
    <li><span class="function"><a href="function.stream-set-timeout.php" class="function" rel="rdfs-seeAlso">stream_set_timeout()</a> - Akımın zaman aşımı s&uuml;resini ayarlar</span></li>
    <li><span class="function"><a href="function.popen.php" class="function" rel="rdfs-seeAlso">popen()</a> - Bir s&uuml;re&ccedil; tanıtıcısı a&ccedil;ar</span></li>
    <li><span class="function"><a href="function.stream-context-create.php" class="function" rel="rdfs-seeAlso">stream_context_create()</a> - Bir akım bağlamı oluşturur</span></li>
    <li><span class="function"><a href="function.umask.php" class="function" rel="rdfs-seeAlso">umask()</a> - Ge&ccedil;erli izin maskesini değiştirir</span></li>
    <li><span class="classname"><a href="class.splfileobject.php" class="classname">SplFileObject</a></span></li>
   </ul>
  </p>
 </div>


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