Php 列表文件夹ftp sort()要求参数1为数组

Php 列表文件夹ftp sort()要求参数1为数组,php,mysql,arrays,ftp,Php,Mysql,Arrays,Ftp,我的代码: function listar_pastas($pasta) { $this->lista = ftp_nlist($this->conexao,$pasta); sort($this->lista); foreach ($this->lista as $objeto) { if($this->verificar_pasta($objeto)) { $pastas[] = $o

我的代码:

function listar_pastas($pasta) {

     $this->lista = ftp_nlist($this->conexao,$pasta);
     sort($this->lista);

       foreach ($this->lista as $objeto) {

         if($this->verificar_pasta($objeto)) {
          $pastas[] = $objeto;
         }

       }

       return  $pastas;

  }
Secund代码:

$ftp = new FTP();
$ftp->conectar("host");
$ftp->autenticar("user","pass");

$array_pastas = $ftp->listar_pastas(".");

foreach ($array_pastas as $pasta) {

if($pasta != "." && $pasta != "..") {

$total_musicas = $ftp->total_arquivos($pasta,"mp3");

echo '<option value="'.$pasta.'">'.$pasta.' ('.$total_musicas.')</option>';
}

}
返回错误:

[08-Aug-2014 06:29:55 UTC]PHP警告:排序期望参数1为 是数组,布尔值在 /home/cassiano/public_html/admin/inc/classe.ftp.php,第44行 [08-Aug-2014 06:29:55 UTC]PHP警告:为提供的参数无效 foreach in/home/cassiano/public_html/admin/inc/classe.ftp.php on 第46行[08-Aug-2014 06:29:55 UTC]PHP警告:参数无效 为foreach提供 /home/cassiano/public_html/gerenciar-musicas.php,第153行 [08-Aug-2014 06:29:57 UTC]PHP警告:排序期望参数1为 是数组,布尔值在 /home/cassiano/public_html/admin/inc/classe.ftp.php,第44行

Ps:相同的代码在另一台服务器上工作!
但是在我的新服务器上,我遇到了这个错误。

您假设一切都正常工作。但是,你应该抓住错误

例如:出错时返回FALSE:成功时从指定目录返回文件名数组,出错时返回FALSE

对于该特定功能,您的案例应为:

$this->lista = ftp_nlist($this->conexao,$pasta);

if ($this->lista !== FALSE) {
    sort($this->lista);

    foreach ($this->lista as $objeto) {

        if($this->verificar_pasta($objeto)) {
            $pastas[] = $objeto;
        }
    }

    return  $pastas;
}
else {
    echo 'Unable to list files in the given directory';
    die();
}

您应该捕获所有函数的错误。

是否设置了$this->conexao?或者$this->conexao不等于ftp\u connect$ftp\u服务器;ftp连接或$pasta不是现有目录Yes iswinky!我不明白为什么相同的代码在另一台服务器上工作!