PHP 8.4.1 Released!

ftp_login

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

ftp_loginFTP 接続にログインする

説明

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

指定した FTP 接続を使ってログインします。

パラメータ

ftp

FTP\Connection クラスのインスタンス

username

ユーザー名(USER)。

password

パスワード(PASS)。

戻り値

成功した場合に true を、失敗した場合に false を返します。 失敗した場合は、PHP が警告を発生します。

変更履歴

バージョン 説明
8.1.0 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例1 ftp_login() の例

<?php

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

// 接続を確立する。接続に失敗したら終了する。
$ftp = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// ログインを試みる
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";
}

// 接続を閉じる
ftp_close($ftp);
?>

add a note

User Contributed Notes 3 notes

up
19
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
11
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
-4
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