PHPCon Poland 2024

ftp_connect

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

ftp_connectУстанавливает соединение с FTP-сервером

Описание

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

ftp_connect() устанавливает FTP-соединение с указанным сервером hostname.

Список параметров

hostname

Адрес FTP-сервера. Этот аргумент не должен содержать слешей в конце и префикса ftp:// в начале.

port

Этот аргумент указывает альтернативный порт для подключения. Если он опущен или установлен в ноль, то будет использован FTP порт по умолчанию - 21.

timeout

Этот аргумент указывает время ожидания в секундах для всех последующих сетевых операций. Если опущен, используется значение по умолчанию - 90 секунд. Время ожидания может быть изменено и получено в любой момент при помощи функций ftp_set_option() и ftp_get_option() соответственно.

Возвращаемые значения

Возвращает FTP\Connection в случае успешного выполнения или false, если возникла ошибка.

Список изменений

Версия Описание
8.1.0 Возвращает экземпляр FTP\Connection; ранее возвращался ресурс (resource).

Примеры

Пример #1 Пример использования ftp_connect()

<?php

$ftp_server
= "ftp.example.com";

// устанавливает соединение или выходит
$ftp = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server");

?>

Смотрите также

  • ftp_close() - Закрывает соединение с FTP-сервером
  • ftp_ssl_connect() - Устанавливает соединение с FTP-сервером через SSL

add a note

User Contributed Notes 1 note

up
18
sean at boyercentral dot net
15 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;
}
?>
To Top