列表文件夹ftp sort()期望参数1为数组

时间:2014-08-08 06:58:38

标签: 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[] = $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>';
}

}

返回erro:

  

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

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

1 个答案:

答案 0 :(得分:0)

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

例如:ftp_nlist错误时返回FALSE:“Returns an array of filenames from the specified directory on success or FALSE on error.”。

您对该特定功能的情况应为:

$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();
}

你应该抓住所有功能的错误。