我需要从劳工统计局的公共FTP服务器下载数据进行分析。我正在尝试使用PHP来检索列表,但我不确定如何使用公共FTP服务器 - 不使用ftp_login导致返回“false”,并尝试以匿名方式登录挂起脚本。 / p>
我的代码:
<?php
// set up basic connection
$ftp = ftp_connect("ftp.bls.gov");
ftp_login($ftp, "anonymous", "");
ftp_pasv($ftp, true);
var_dump(ftp_rawlist($ftp, "/pub/time.series/la/"));
?>
答案 0 :(得分:10)
你的脚本适合我(see output),我得到一个很好的目录列表。请联系您的PHP脚本运行的服务器的系统管理员并请求支持。看起来这对我来说是一个网络配置问题。
此外,在继续之前,请始终检查错误的函数返回值:
// connect
$ftp = ftp_connect("ftp.bls.gov");
if (!$ftp) die('could not connect.');
// login
$r = ftp_login($ftp, "anonymous", "");
if (!$r) die('could not login.');
// enter passive mode
$r = ftp_pasv($ftp, true);
if (!$r) die('could not enable passive mode.');
// get listing
$r = ftp_rawlist($ftp, "/pub/time.series/la/");
var_dump($r);
什么是匿名FTP?
匿名FTP是存档网站允许一般访问的一种方式 他们的档案信息。这些网站创造了一个特殊 帐户名为“匿名”。用户“匿名”访问受限 存档主机的权限,以及一些操作限制。 实际上,允许的唯一操作是使用FTP登录, 列出有限目录集的内容,并进行检索 文件。有些网站限制列出目录的内容 匿名用户也可以看到。请注意,“匿名”用户不是 通常允许将文件传输到存档站点,但只能 从这样的网站检索文件。
传统上,这个特殊的匿名用户帐户接受任何字符串 作为密码,虽然通常使用密码 “客人”或一个人的电子邮件(电子邮件)地址。一些档案 网站现在明确要求用户的电子邮件地址,而不是 允许使用“访客”密码登录。提供电子邮件地址 是一种礼貌,允许存档网站运营商了解 谁正在使用他们的服务。
答案 1 :(得分:0)
试试这个Php代码。希望它会有所帮助:
<?php
$connect = ftp_connect("ftp.hostname.com");
$result = ftp_login($connect, "username", "password");
$a = ftp_nlist($connect, "code22");
foreach($a as $value){
echo $value,"<BR>";
}
?>