【问题标题】:php script on Windows hosting does not list ftp files (ftp_rawlist issues)Windows 主机上的 php 脚本未列出 ftp 文件(ftp_rawlist 问题)
【发布时间】:2012-01-30 14:07:39
【问题描述】:

我正在尝试在 Windows 共享主机上使用 php ftp 函数列出来自外部 FTP 服务器的一些文件,但我遇到了一些问题。

我首先尝试了几个 web 应用程序,比如 ajaxplorer 和 net2ftp,但我感到很沮丧,我决定制作一个非常基本的脚本进行测试..

<?php   
$ftp_server = "alinuxftpserver";
$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");

// change temp folder (windows)
putenv("TMP=D://inetpub//webs//domain//net2ftp//tmp");
echo getenv('TMP'); 

// 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";
}

if(ftp_pasv( $conn_id, true )) 
      echo "Passive mode, it worked<br/>"; 
    else 
      echo "Passive mode, it didn't work<br/>";

$contents = ftp_rawlist($conn_id, ".");
var_dump($contents);

ftp_close($conn_id);  

die;

?>

在我的 localhost (linux) 上,它返回一个数组,而在托管它的 Windows 上,它返回:

Warning: ftp_rawlist() [function.ftp-rawlist]: php_connect_nonb() failed: No such file or directory (2) in D:\inetpub\webs\domain\ftp.php on line 26
bool(false)

无法理解.. 外部 ftp 服务器上的目录应该是“/”,当然还有一些文件和文件夹(2 个文件夹和 1 个文件)。事实上,在我的 MAMP 安装中它运行良好。

托管人告诉我服务器配置没问题。

【问题讨论】:

    标签: php ftp pydio windows-hosting


    【解决方案1】:

    使用 ftp_pasv($conn_id, true);一些 ftp 连接只能在被动模式下工作

    【讨论】:

      【解决方案2】:

      我不是 100% 确定,但我想,您应该使用 $contents = ftp_rawlist($conn_id, "/"); 而不是 $contents = ftp_rawlist($conn_id, ".");

      【讨论】:

      • 已经尝试使用“/”代替点,但仍然不起作用(很遗憾)
      【解决方案3】:

      检查您的 FTP 服务器日志。就我而言,pasv_address 设置为错误的 IP 地址。

      【讨论】:

        【解决方案4】:

        迟到总比没有好...我遇到了同样的问题。使用 Linux 服务器一切正常,但使用 Windows Server(许多版本)我们遇到了很多问题,包括 ftp_nlist() 返回一个空数组。这对我们有用,但我不知道为什么!

        ftp_nlist($handler, '*');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-07
          • 1970-01-01
          • 2015-06-05
          • 2023-01-11
          • 1970-01-01
          • 1970-01-01
          • 2017-10-01
          • 2016-10-20
          相关资源
          最近更新 更多