ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connectAbre una conexión segura SSL-FTP

Descripción

resource ftp_ssl_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_ssl_connect() abre una conexión explícita SSL-FTP al host especificado.

Nota: Por qué puede que esta función no exista

ftp_ssl_connect() sólo está disponible si ambos, el módulo de FTP y el soporte de OpenSSL, están construidos de forma estática en PHP, esto significa que en Windows esta función no estará disponible en las compilaciones oficiales de PHP. Para hacer esta función disponible en Windows, debe compilar sus propios binarios de PHP.

Nota:

ftp_ssl_connect() no está pensada para su uso con SFTP. Para utilizar sFTP con PHP, por favor, consulte ssh2_sftp().

Parámetros

host

La dirección del servidor FTP. Este parámetro no debe tener barras al final y no debe estar precedido de ftp://.

port

Este parámetro especifica un puerto alternativo al que conectarse. Si se omite o se define como cero, entonces el puerto por defecto FTP, 21, será utilizado.

timeout

Este parámetro especifica el tiempo de espera para todas las operaciones de red posteriores. Si se omite, el valor predeterminado es 90 segundos. El tiempo de espera puede ser cambiado y consultado en cualquier momento con ftp_set_option() y ftp_get_option().

Valores devueltos

Devuelve una secuencia SSL-FTP en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión Descripción
5.2.2 La función se ha cambiado para devolver FALSE cuando no se puede utilizar una conexión SSL, en lugar de recurrir a una conexión no-SSL como hacía en versiones anteriores.

Ejemplos

Ejemplo #1 Ejemplo de ftp_ssl_connect()

<?php

// establecer la conexión SSL básica
$conn_id ftp_ssl_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

echo 
ftp_pwd($conn_id); // /

// cerrar la conexión SSL
ftp_close($conn_id);
?>

Ver también

add a note add a note

User Contributed Notes 1 note

up
3
mmm3567 at gmail dot com
3 years ago
Something that isn't mentioned above is that although ftp_ssl_connect may be available and will return an FTP stream it may not be usable. Take the following code (FTP login credentials are obviously set elsewhere):

<?php
var_dump
(function_exists('ftp_ssl_connect'));
if(
function_exists('ftp_ssl_connect'))
{
   
$ftp_connection = @ftp_ssl_connect($this->ftp_host);
}
else
{
   
$ftp_connection = @ftp_connect($this->ftp_host);
}
var_dump($ftp_connection);
if(
$ftp_connection)
{
   
ftp_login($ftp_connection, $this->ftp_user, $this->ftp_password);
}
// output: bool(true) resource(71) of type (FTP Buffer)
?>

From this you'd assume everything would work, ftp_ssl_connect is available and you have a connection. However, once you get to ftp_login, you could get this:

Warning [2] ftp_login() [function.ftp-login]: AUTH not understood

This is because the server is not configured to understand the encrypted details, even though the function is available and an SSL-FTP stream was opened.

If you are trying to use ftp_ssl_connect make sure you check if you can login after using it, and if not, connect again with standard ftp_connect.

Hope this is of use.
To Top