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!我不明白为什么相同的代码在另一台服务器上工作!