<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ftp.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'function.ftp-ssl-connect.php',
    1 => 'ftp_ssl_connect',
    2 => 'Opens a Secure SSL-FTP connection',
  ),
  'up' => 
  array (
    0 => 'ref.ftp.php',
    1 => 'FTP Functions',
  ),
  'prev' => 
  array (
    0 => 'function.ftp-size.php',
    1 => 'ftp_size',
  ),
  'next' => 
  array (
    0 => 'function.ftp-systype.php',
    1 => 'ftp_systype',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/ftp/functions/ftp-ssl-connect.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ftp-ssl-connect" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ftp_ssl_connect</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.3.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">ftp_ssl_connect</span> &mdash; <span class="dc-title">Opens a Secure SSL-FTP connection</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.ftp-ssl-connect-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ftp_ssl_connect</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$hostname</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$port</code><span class="initializer"> = 21</span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timeout</code><span class="initializer"> = 90</span></span>): <span class="type"><span class="type"><a href="class.ftp-connection.php" class="type FTP\Connection">FTP\Connection</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>ftp_ssl_connect()</strong></span> opens an <em>explicit</em> SSL-FTP connection to the
   specified <code class="parameter">hostname</code>. That implies that
   <span class="function"><strong>ftp_ssl_connect()</strong></span> will succeed even if the server is not
   configured for SSL-FTP. Only when <span class="function"><a href="function.ftp-login.php" class="function">ftp_login()</a></span> is called, the client will send the
   appropriate <code class="literal">AUTH FTP</code> command, so <span class="function"><a href="function.ftp-login.php" class="function">ftp_login()</a></span> will fail.
   The connection established by <span class="function"><strong>ftp_ssl_connect()</strong></span> will <em>not</em> do
   peer-certificate verification.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <strong>Why this function may not exist</strong><br />
   <p class="para">
    Before PHP 7.0.0, <span class="function"><strong>ftp_ssl_connect()</strong></span> was only available if both
    the ftp module and the <a href="ref.openssl.php" class="link">OpenSSL</a>
    support have been built statically into php; this means that on Windows this
    function had been undefined in the official PHP builds. To have this
    function available on Windows, it had been necessary to compile own PHP binaries.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    <span class="function"><strong>ftp_ssl_connect()</strong></span> is not intended for use with sFTP.
    To use sFTP with PHP, please see <span class="function"><a href="function.ssh2-sftp.php" class="function">ssh2_sftp()</a></span>.
   </p>
  </p></blockquote>
 </div>

 <div class="refsect1 parameters" id="refsect1-function.ftp-ssl-connect-parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">hostname</code></dt>
     <dd>
      <p class="para">
       The FTP server address. This parameter shouldn&#039;t have any trailing 
       slashes and shouldn&#039;t be prefixed with <code class="literal">ftp://</code>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">port</code></dt>
     <dd>
      <p class="para">
       This parameter specifies an alternate port to connect to. If it is
       omitted or set to zero, then the default FTP port, 21, will be used.
      </p>
     </dd>
    
    
     <dt><code class="parameter">timeout</code></dt>
     <dd>
      <p class="para">
       This parameter specifies the timeout for all subsequent network operations.
       If omitted, the default value is 90 seconds. The timeout can be changed and
       queried at any time with <span class="function"><a href="function.ftp-set-option.php" class="function">ftp_set_option()</a></span> and
       <span class="function"><a href="function.ftp-get-option.php" class="function">ftp_get_option()</a></span>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.ftp-ssl-connect-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns an <span class="classname"><a href="class.ftp-connection.php" class="classname">FTP\Connection</a></span> instance on success, or <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> on failure.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.ftp-ssl-connect-changelog">
  <h3 class="title">Changelog</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.1.0</td>
      <td>
       Returns an <span class="classname"><a href="class.ftp-connection.php" class="classname">FTP\Connection</a></span> instance now;
       previously, a <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> was returned.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.ftp-ssl-connect-examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Example #1 <span class="function"><strong>ftp_ssl_connect()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">// set up basic ssl connection<br /></span><span style="color: #0000BB">$ftp </span><span style="color: #007700">= </span><span style="color: #0000BB">ftp_ssl_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$ftp_server</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// login with username and password<br /></span><span style="color: #0000BB">$login_result </span><span style="color: #007700">= </span><span style="color: #0000BB">ftp_login</span><span style="color: #007700">(</span><span style="color: #0000BB">$ftp</span><span style="color: #007700">, </span><span style="color: #0000BB">$ftp_user_name</span><span style="color: #007700">, </span><span style="color: #0000BB">$ftp_user_pass</span><span style="color: #007700">);<br /><br />if (!</span><span style="color: #0000BB">$login_result</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">// PHP will already have raised an E_WARNING level message in this case<br />    </span><span style="color: #007700">die(</span><span style="color: #DD0000">"can't login"</span><span style="color: #007700">);<br />}<br /><br />echo </span><span style="color: #0000BB">ftp_pwd</span><span style="color: #007700">(</span><span style="color: #0000BB">$ftp</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// close the ssl connection<br /></span><span style="color: #0000BB">ftp_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$ftp</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.ftp-ssl-connect-seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.ftp-connect.php" class="function" rel="rdfs-seeAlso">ftp_connect()</a> - Opens an FTP connection</span></li>
   </ul>
  </p>
 </div>

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