PHP 7.4.24 Released!

ftp_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_connectOuvre une connexion FTP

Description

ftp_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|false

ftp_connect() ouvre une connexion FTP avec l'hôte hostname.

Liste de paramètres

hostname

L'adresse du serveur FTP. Ce paramètre ne doit jamais avoir de slash final et ne doit pas être préfixé par ftp://.

port

Ce paramètre spécifie un numéro de port alternatif pour la connexion. S'il est omis ou définie à zéro, alors le port FTP par défaut, 21, sera utilisé.

timeout

Ce paramètre spécifie le délai de connexion en secondes pour toutes les opérations ultérieures en réseau. S'il est omis, la valeur par défaut sera 90 secondes. Le délai de connexion peut être modifié et interrogé à n'importe quel moment avec les fonctions ftp_set_option() et ftp_get_option().

Valeurs de retour

Retourne une instance de FTP\Connection en cas de succès, ou false si une erreur survient.

Historique

Version Description
8.1.0 Retourne désormais une instance de FTP\Connection ; auparavant, une ressource était retournée.

Exemples

Exemple #1 Exemple avec ftp_connect()

<?php

$ftp_server 
"ftp.example.com";

// Mise en place d'une connexion
$ftp ftp_connect($ftp_server) or die("Impossible de se connecter au serveur $ftp_server");

?>

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
9
sean at boyercentral dot net
12 years ago
Ever needed to create an FTP connection resource defaulted to a particular dir from a URI? Here's a simple function that will take a URI like ftp://username:password@subdomain.example.com/path1/path2/, and return an FTP connection resource.

<?php
function getFtpConnection($uri)
{
   
// Split FTP URI into:
    // $match[0] = ftp://username:password@sld.domain.tld/path1/path2/
    // $match[1] = ftp://
    // $match[2] = username
    // $match[3] = password
    // $match[4] = sld.domain.tld
    // $match[5] = /path1/path2/
   
preg_match("/ftp:\/\/(.*?):(.*?)@(.*?)(\/.*)/i", $uri, $match);

   
// Set up a connection
   
$conn = ftp_connect($match[1] . $match[4] . $match[5]);

   
// Login
   
if (ftp_login($conn, $match[2], $match[3]))
    {
       
// Change the dir
       
ftp_chdir($conn, $match[5]);

       
// Return the resource
       
return $conn;
    }

   
// Or retun null
   
return null;
}
?>
up
2
rafael at gawenda dot es
1 year ago
Sean's example is wrong, because it includes the protocol match, so result would be php_network_getaddresses: getaddrinfo failed: Name or service not known
up
-1
edouard at e-gaulue dot com
6 months ago
On server with multiple network card, is there a way to choose the interface to use ?
To Top