ftp_login
(PHP 4, PHP 5, PHP 7, PHP 8)
ftp_login — 登录 FTP 服务器
说明
ftp_login(resource
$ftp_stream
, string $username
, string $password
): bool使用用户名和密码登录入给定的 FTP 连接。
参数
-
ftp_stream
-
FTP 连接的链接标识符。
-
username
-
用户名(
USER
)。 -
password
-
密码(
PASS
)。
返回值
成功时返回 true
, 或者在失败时返回 false
。
如果登录失败,PHP 会抛出一个警告。
范例
示例 #1 ftp_login() 例子
<?php
$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";
// 设置一个连接或失败时退出
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// 尝试登录
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Connected as $ftp_user@$ftp_server\n";
} else {
echo "Couldn't connect as $ftp_user\n";
}
// 关闭连接
ftp_close($conn_id);
?>
add a note
User Contributed Notes 4 notes
Travis Weston ¶
7 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.');
}
mattsch at gmail dot com ¶
11 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', '');
?>
Anonymous ¶
6 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
contact at evoweb dot fr ¶
7 years ago
If you want to remove the warning of a bad connection with handled error activated just add before :
set_error_handler("my_error_function", E_ALL & !E_WARNING);
and after the function :
set_error_handler("my_error_function", E_ALL);