Gökhan BARAN
Full Stack Developer
© 2017-2024 All rights reserved.
Php iç içe dizin ve klasörleri tarama
Php iç içe dizin ve klasörleri tarama ve dosyaları listelemek için iki farklı fonksiyon göstereceğim, umarım dosya / klasör işlemlerinde işinize yarar.
function dizin_tara($dir, &$out = []) {
$sun = scandir($dir);
foreach ($sun as $a => $filename) {
$way = realpath($dir . DIRECTORY_SEPARATOR . $filename);
if (!is_dir($way)) {
$out[] = $way;
} else if ($filename != "." && $filename != "..") {
dizin_tara($way, $out);
$out[] = $way;
}
}
return $out;
}
$dir='yuklenenler'; // dizin/klasör yolu
print_r dizin_tara($dir);
ikinci fonksiyonumuzda ise glob kullandım.
class tum_dosyalar {
public $files = [];
function __construct($folder) {
$this->read($folder);
}
function read($folder) {
$folders = glob("$folder/*", GLOB_ONLYDIR);
foreach ($folders as $folder) {
//$this->files[] = $folder . "/";
$this->read( $folder );
}
$files = array_filter(glob("$folder/*.{pdf}", GLOB_BRACE), 'is_file');
foreach ($files as $file) {
$this->files[] = $file;
}
}
function __toString() {
return implode( " = ", $this->files );
}
}
echo new tum_dosyalar("tarama/2023");