PHP 8.1.0 RC 4 available for testing

ftp_connect

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

ftp_connectStellt eine FTP-Verbindung her

Beschreibung

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

ftp_connect() stellt eine FTP-Verbindung zum angegebenen hostname her.

Parameter-Liste

hostname

Die Adresse des FTP-Servers. Dieser Parameter sollte keinen abschließenden Schrägstrich und kein vorangestelltes ftp:// haben.

port

Gibt einen alternativen Port für die Verbindung an. Fehlt er oder wird er auf 0 gesetzt, wird der Standard-FTP-Port 21 verwendet.

timeout

Dieser Parameter bestimmt den Timeout in Sekunden für alle nachfolgenden Netzwerktätigkeiten. Falls er fehlt, wird er auf den Standardwert von 90 Sekunden gesetzt. Der Timeout kann jederzeit mittels ftp_set_option() gesetzt und mittels ftp_get_option() abgefragt werden.

Rückgabewerte

Gibt bei Erfolg eine FTP\Connection-Instanz zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Gibt jetzt eine FTP\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben.

Beispiele

Beispiel #1 ftp_connect()-Beispiel

<?php

$ftp_server 
"ftp.example.com";

// Verbindung herstellen oder das Skript beenden
$ftp ftp_connect($ftp_server) or die("Konnte keine Verbindung zu $ftp_server aufbauen");

?>

Siehe auch

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
7 months ago
On server with multiple network card, is there a way to choose the interface to use ?
To Top