要抑制 PHP 警告,只需在函数前面加上错误抑制字符 @ 即可。我通常反对错误抑制,但显然有人认为将此问题强调出来是个好主意。返回 false 不够吗?
if( ! @ftp_login( $connection, 'USERNAME', 'PASSWORD' ) ){
die( '登录失败,但没有抛出 PHP 警告。');
}
(PHP 4, PHP 5, PHP 7, PHP 8)
ftp_login — 登录 FTP 连接
登录到给定的 FTP 连接。
版本 | 说明 |
---|---|
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("无法连接到 $ftp_server");
// 尝试登录
if (@ftp_login($ftp, $ftp_user, $ftp_pass)) {
echo "已连接到 $ftp_user@$ftp_server\n";
} else {
echo "无法连接到 $ftp_user\n";
}
// 关闭连接
ftp_close($ftp);
?>
要抑制 PHP 警告,只需在函数前面加上错误抑制字符 @ 即可。我通常反对错误抑制,但显然有人认为将此问题强调出来是个好主意。返回 false 不够吗?
if( ! @ftp_login( $connection, 'USERNAME', 'PASSWORD' ) ){
die( '登录失败,但没有抛出 PHP 警告。');
}
请注意,要建立匿名 FTP 连接,你需要将 "anonymous" 指定为用户名,将 ""(空字符串)指定为密码。
例子
<?php
ftp_login('ftp.example.com', 'anonymous', '');
?>
来自:http://www.ietf.org/rfc/rfc1635.txt
"什么是匿名 FTP?
"...
"传统上,这个特殊的匿名用户帐户接受任何字符串作为密码,虽然通常使用 "guest" 或电子邮箱地址作为密码。现在一些存档站点明确要求用户提供电子邮件地址,并且不允许使用 "guest" 密码登录。提供电子邮件地址是一种礼貌,可以让存档站点运营商了解谁在使用他们的服务。"
因此你的代码应该是
<?php
ftp_login('ftp.example.com', 'anonymous', '[email protected]');
?>
如果空密码有效,那么你的 php.ini 中可能设置了默认密码