J'ai un code php qui effectue la liste des répertoires/fichiers. Cependant, cela ne fonctionne pas lorsqu'il est appelé par objet.Fonction récursive fonctionne uniquement sans classe, mais pas avec la classe
Suite Code Works:
function getDirContents($dir, &$results = array()){
$files = scandir($dir);
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
$results[] = $path;
} else if($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
// print_r($results);
return $results;
}
var_dump(getDirContents('C:\xampp\htdocs\skillup\d4a1'));
Le code suivant ne fonctionne pas:
class Dira {
function getDirContents($dir, &$results = array()){
$files = scandir($dir);
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
$results[] = $path;
} else if($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
// print_r($results);
return $results;
}
}
$obj = new Dira;
$arr = array();
var_dump($obj->getDirContents('C:\xampp\htdocs\skillup\d4a1'));
Est-ce que votre code entier? – ksjohn
Parce que vous ne savez pas ce qu'est '$ this'? –
oui, mais apparemment cela ne fonctionne avec l'objet que s'il n'y a pas de sous-répertoire dans le chemin donné du répertoire –