class FTP_dir {
//return files list
private $nFiles=array();
//tableau des extensions
private $nExt=array();
/**
* Constructor : lister les fichiers contenus dans le dossier FTP
* @param string $_path dossier à analyser
* @param array $_filter filtre sur l''extention du fichier
*/
public function __construct($_path, array $_filter) {
//dossier incorrecte
if (!is_dir($_path)) {
throw new Exception("FTP path $_path could not be found !!!");
}
//dossier inaccessible
$dh = opendir($_path);
if (!$dh) {
throw new Exception("FTP path $_path could not be opened !!!");
}
//mettre le tableau des extension en miniscule
$this->nExt=$this->filterToLower($_filter);
while (($file = readdir($dh)) !== false) {
//aucun filtre
if (count($this->nExt)==0) {
array_push($nFiles, $file);
} else {
//ajouter si l'extension du fichier est dans le filtre
$ext=strtolower(strrchr($_path.$file,'.'));
if (in_array($ext, $this->nExt)) {
array_push($this->nFiles, $file);
}
}
}
closedir($dh);
}
public function __toString() {
return print_r($this->nFiles);
}
/**
* retourne le tableau des fichiers dans dossier
* @return array liste des fichiers
*/
public function getFiles() {
return $this->nFiles;
}
/**
* Mettre les élements du tableau en minuscule
* @param array $_ar tableau à parser
* @return array tableau en minuscule
*/
private function filterToLower(array $_ar) {
foreach ($_ar as $val) {
$val=strtolower($val);
}
return $_ar;
}
}
?>
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|
le //
|