ftp_login()
(PHP 4, PHP 5, PHP 7)
登录 FTP 服务器
说明
ftp_login(resource $ftp_stream,string $username,string $password): bool
使用用户名和密码登录入给定的 FTP 连接。
参数
- $ftp_stream
FTP 连接的链接标识符。
- $username
用户名(USER)。
- $password
密码(PASS)。
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。如果登录失败,PHP 会抛出一个警告。
范例
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); ?>
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.'); }
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
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', ''); ?>
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);