PHP FTP ftp_nlist不工作,返回布尔值false [英] PHP FTP ftp_nlist not working, returning boolean false
问题描述
这段代码有点问题。脚本连接,但它不会给我位于根目录中的文件夹...我错过了什么?
$ ftp_server =ftp.something.com;
$ ftp_user =user;
$ ftp_pass =pass;
//设置连接或死亡
$ conn_id = ftp_connect($ ftp_server)或死(无法连接到$ ftp_server);
//尝试登录
if(@ftp_login($ conn_id,$ ftp_user,$ ftp_pass))
{
echo作为$ ftp_user @ $ ftp_server连接\\\
;
}
else
{
echo无法连接为$ ftp_user @ $ ftp_server\\\
;
}
$ contents = ftp_nlist($ conn_id,。);
var_dump($ contents);
ftp_close($ conn_id);
die;
它输出
以$ ftp_user @ $ ftp_server连接;
和
boolean false
为什么它不会列出文件?
我可以用非常快的速度解决这个问题。
file_exists(ftp // user:pass @ )b
...但容易的部分不是我要找的东西,我会不学习任何东西
解决方案 ftp_nlist()
返回错误
发生错误时。我猜你需要使用被动传输:
// ftp_login(...)之后
ftp_pasv( $ conn_id,true);
Generell,我建议通过使用CLI工具来解决这个问题,例如 ftp
或像Filezilla这样的GUI客户端。日志/输出是非常非常有用的。
HTH
I have a little problem with this pice of code. The script connects, but it wont give me the folders that are located in root ... i am missing something?
$ftp_server = "ftp.something.com";
$ftp_user = "user";
$ftp_pass = "pass";
// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// try to login
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@$ftp_server\n";
}
$contents = ftp_nlist($conn_id, ".");
var_dump($contents);
ftp_close($conn_id);
die;
It outputs
Connected as $ftp_user@$ftp_server;
and
boolean false
Why it won't list the files?
i could solve this very fast with
file_exists("ftp//user:pass@host.com")
... but the easy part is not what im looking for, i would not learn anything
解决方案 ftp_nlist()
returns false
when an error occurs. I'm guessing you need to use passive transfer:
// after ftp_login(...)
ftp_pasv($conn_id, true);
Generell, I'd recommend troubleshooting this by using a a CLI tool like ftp
or a GUI-client like Filezilla. The log/output is very, very helpful.
HTH
这篇关于PHP FTP ftp_nlist不工作,返回布尔值false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文