PHP 8.3.4 Released!

ftp_login

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

ftp_login登录 FTP 服务器

说明

ftp_login(FTP\Connection $ftp, string $username, string $password): bool

登录入指定 FTP 连接。

参数

ftp

FTP\Connection 实例。

username

用户名(USER)。

password

密码(PASS)。

返回值

成功时返回 true, 或者在失败时返回 false。 如果登录失败,PHP 会抛出一个警告。

更新日志

版本 说明
8.1.0 现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource

示例

示例 #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
21
Travis Weston
9 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