Dutch PHP Conference 2025 - Call For Papers

ftp_login

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

ftp_loginLogs in to an FTP connection

Опис

ftp_login(FTP\Connection $ftp, string $username, #[\SensitiveParameter] string $password): bool

Logs in to the given FTP connection.

Параметри

ftp

Примірник FTP\Connection.

username

The username (USER).

password

The password (PASS).

Значення, що повертаються

Повертає true у разі успіху або false в разі помилки. If login fails, PHP will also throw a warning.

Журнал змін

Версія Опис
8.1.0 Тепер параметр ftp має бути примірником FTP\Connection. Раніше очікувався resource.

Приклади

Приклад #1 ftp_login() example

<?php

$ftp_server
= "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// set up a connection or die
$ftp = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// try to login
if (@ftp_login($ftp, $ftp_user, $ftp_pass)) {
echo
"Connected as $ftp_user@$ftp_server\n";
} else {
echo
"Couldn't connect as $ftp_user\n";
}

// close the connection
ftp_close($ftp);
?>

add a note

User Contributed Notes 3 notes

up
20
Travis Weston
10 years ago
To suppress the PHP warning, just prepend the function with the error suppression character @. I'm usually against error suppression, but apparently some genius thought it was a good idea to really drive the point home that you have a bad login. Returning false wasn't enough?

if( ! @ftp_login( $connection, 'USERNAME', 'PASSWORD' ) ){
die( 'Bad login, but no PHP warning thrown.');
}
up
12
mattsch at gmail dot com
13 years ago
Note that to make an anonymous ftp connection, you need to specify "anonymous" as the username and "" (empty string) as the password.

Example:
<?php
ftp_login
('ftp.example.com', 'anonymous', '');
?>
up
-2
Anonymous
8 years ago
from: http://www.ietf.org/rfc/rfc1635.txt

"What is Anonymous FTP?
"...
"Traditionally, this special anonymous user account accepts any string as a password, although it is common to use either the password "guest" or one's electronic mail (e-mail) address. Some archive sites now explicitly ask for the user's e-mail address and will not allow login with the "guest" password. Providing an e-mail address is a courtesy that allows archive site operators to get some idea of who is using their services. "

So your code would be:
<?php
ftp_login
('ftp.example.com', 'anonymous', 'user@example.com');
?>

If a blank password works, you might have a default password set in your php.ini
To Top