Hướng dẫn php scandir recursive

You can scan directory recursively in this way the target is your top most directory:

function scanDir($target) {

        if(is_dir($target)){

            $files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned

            foreach( $files as $file )
            {
                scanDir( $file );
            }


        } 
    }

You can adapt this function for your need easily. For example if would use this to delete the directory and its content you could do:

function delete_files($target) {

        if(is_dir($target)){

            $files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned

            foreach( $files as $file )
            {
                delete_files( $file );
            }

            rmdir( $target );

        } elseif(is_file($target)) {

            unlink( $target );
    }

You can not do this in the way you are doing. The following function gets recursively all the directories, sub directories so deep as you want and the content of them:

function assetsMap($source_dir, $directory_depth = 0, $hidden = FALSE)
    {
        if ($fp = @opendir($source_dir))
        {
            $filedata   = array();
            $new_depth  = $directory_depth - 1;
            $source_dir = rtrim($source_dir, '/').'/';

            while (FALSE !== ($file = readdir($fp)))
            {
                // Remove '.', '..', and hidden files [optional]
                if ( ! trim($file, '.') OR ($hidden == FALSE && $file[0] == '.'))
                {
                    continue;
                }

                if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file))
                {
                    $filedata[$file] = assetsMap($source_dir.$file.'/', $new_depth, $hidden);
                }
                else
                {
                    $filedata[] = $file;
                }
            }

            closedir($fp);
            return $filedata;
        }
        echo 'can not open dir';
        return FALSE;
    }

Pass your path to the function:

$path = 'elements/images/';
$filedata = assetsMap($path, $directory_depth = 5, $hidden = FALSE);

$filedata is than an array with all founded directories and sub directories with their content. This function lets you scan the directories structure ($directory_depth) so deep as you want as well get rid of all the boring hidden files (e.g. '.','..')

All you have to do now is to use the returned array, which is the complete tree structure, to arrange the data in your view as you like.

What you are trying to do is in fact a kind of file manager and as you know there are a lot of those in the wild, open source and free.

I hope this will help you and I wish you a merry Christmas.

Hướng dẫn php scandir recursive

Hướng dẫn dùng over load trong PHP

Tải chồng trong PHP mang nghĩa tạo các thuộc tính và phương thức động. Những thành phần động này được xử lý thông qua các magic method được thiết lập ...

Hướng dẫn php scandir recursive

Hướng dẫn php kết nối mysql

Th6 09, 2022 Hai G. 6ít nhất Đọc Nếu bạn là người mới trong giai đoạn lập trình viên, việc biết cách kết nối PHP với MySQL database rất hữu ích. Bạn ...

Hướng dẫn php scandir recursive

Hướng dẫn php scandir recursive

Hướng dẫn dùng mail to trong PHP

Nội dung1. Hàm mail PHP là gì?2. Các tùy chọn gửi mail PHPCú pháp mail (Email Syntax)Tham số Email (Email Parameters)To:Subject:Message:Headers:Parameters:3. Lý do nên dùng mail ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng string tags trong PHP

Hàm strip_tags() sẽ loại bỏ các thẻ HTML và PHP ra khỏi chuỗi. Hàm sẽ trả về chuỗi đã loại bỏ hết các thẻ HTML và PHP.Nội dung chínhCùng chuyên ...

Hướng dẫn php scandir recursive

Hướng dẫn get milliseconds php

Hướng dẫn php iterablesLặp lại trong PHP hướng đối tượng – PHP Iterables Lặp lại ta có thể coi là một kiểu giả trong PHP. Nó chấp nhận bất kỳ mảng hoặc ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng emptu trong PHP

Định Nghĩa.Cú Pháp.Những sự khác biệt của hàm ở từng phiên bản.Ví dụ:Định Nghĩa.– Hàm empty() là hàm dùng để kiểm tra giá trị biến có rỗng không.Cú ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng 12.0.2 monterey trong PHP

RepliesPHP has been removed in macOS Monterey.Nội dung chínhHow do you check if I have PHP installed on Mac?Is PHP installed on Mac by default?How do I update PHP on my Mac?How do I reinstall PHP ...

Hướng dẫn php scandir recursive

Hướng dẫn php scandir recursive

Php translate string to english

been googleing for a while how is the best way to translate with google translator in PHP, found very different ways converting URLS, or using Js but i want to do it only with php (or with a very ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng timezone offsets trong PHP

Whats the easiest way to get the UTC offset in PHP, relative to the current (system) timezone?Nội dung chính Not the answer youre looking for? Browse other questions tagged php timezone utc or ...

Hướng dẫn php scandir recursive

Hướng dẫn php dns cache

Hầu hết các web server có thể xử lý các lượng truy cập bình thường và đa phần các trang web không có quá nhiều truy cập. Vì vậy, có thể bạn tự hỏi: Tại ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng addfile php trong PHP

Làm sao để thực hiện nén file .zip bằng PHP, bài viết này sẽ giới thiệu và hướng dẫn các bạn thực hiện nén file .zip bằng PHP một cách đơn giản. Mục ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng echo result trong PHP

Hàm echo() trong php giúp chúng ta xuất dữ liệu một cách dễ dàng. Cú phápecho ($var_1[, $var_k]) hoặc echo $var_1[, $var_k]Input: Danh sách các biến cần xuất dữ liệu ...

Hướng dẫn php scandir recursive

Can i convert python code to php?

Is there a software converter out there that can automatically convert this python code to PHP?#!/usr/bin/python import math def calcNumEntropyBits(s): if len(s) <= 0: return 0.0 ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng getway trong PHP

Khởi tạo TablegatewayNếu khi làm việc với một bảng dữ liệu, bạn có thể trực tiếp sử dung TableGateway để dễ dàng và nhanh chóng hơn. Để khởi tạo và ...

Hướng dẫn php scandir recursive

Lấy giá trị trong mảng php

1. Định nghĩaMột mảng là một cấu trúc dữ liệu mà lưu giữ một hoặc nhiều kiểu giá trị giống nhau trong một giá trị đơn. Nói đơn giản thì mảng như ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng pathinfo php trong PHP

Định nghĩa.Cú pháp.Cú pháp:Trong đó.Giá trị trả về.Changelog.ghi chú. Ví dụ.Ví dụ # 1 pathinfo ().code.Ví dụ # 2 pathinfo () ví dụ cho thấy sự khác biệt giữa ...

Hướng dẫn php scandir recursive

Hướng dẫn php scandir recursive

Unable to load dynamic library oci8_12c php

I have spended almost 4days...Still dont get the way to solve it.Please help me...I would like to connect to Oracle database-11g through Laravel 5.7.1I have created the Environment Variables for ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng define ftp trong PHP

I - Các bước để upload website Để upload website, bạn cần trải qua 6 bước sau:Nội dung chínhI - Các bước để upload website II - Hướng dẫn ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng php_mysqli trong PHP

Blog Tin tức 05/08/2021 00:57MySQL là cơ sở dữ liệu nguồn mở phổ biến và được sử dụng rộng rãi nhất với các lý do như, thiết lập và sử dụng đơn giản, ...

Hướng dẫn php scandir recursive

Hướng dẫn php scandir recursive

List out features of php

Features of PHPThe main features of php is; it is open source scripting language so you can free download this and use. PHP is a server site scripting language. It is open source scripting language. ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng scanf example trong PHP

Định nghĩa và cách sử dụngCú pháp.Cú pháp:Trong đó.Giá trị trả về.Ví dụ.Ví dụ # 1 fscanf () đơn giảncode:Ví dụ # 2 Nội dung của users.txtHàm liên quan.Thông ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng array_map trong PHP

Hàm array_map() sẽ lặp tất cả các phần tử của mảng và truyền vào hàm callback định nghĩa trước đó của người dùng. Hàm callback sẽ coi các phần từ của ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng debug print trong PHP

Nhân dịp đầu xuân năm mới, mình xin gửi lời chúc an lành tới tất cả thành viên của viblo.asiaMỗi lần xuân đến mình lại nhớ tới câu: Mỗi mùa xuân sang ...

Hướng dẫn php scandir recursive

Hướng dẫn reporting in php

Cập nhật lần cuối: 15 Tháng Ba 2020 826 Lượt xemKhi bạn phát triển phần mềm thì có một công việc mà bạn luôn phải làm và nó luôn là một tính năng bắt ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng rewuire trong PHP

Trang chủHướng dẫn họcHọc PHPPHP include và requireĐịnh nghĩa và cách dùng include và requireinclude hoặc require tiện lợi cho việc sử dụng những phần dùng chung, ...

Hướng dẫn php scandir recursive

Php check if integer or float

Artefactos answer will also convert a 5.0 float number into a 5 integer. If that is bugging you like it was bugging me, I offer the answer of automatic type conversion via the multiplication ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng manual opposite trong PHP

Comparison operators, as their name implies, allow you to compare two values. You may also be interested in viewing the type comparison tables, as they show examples of various type related ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng 10 offset trong PHP

Nội dung chínhNội dung chínhGiới hạn từ khóa ( Limit keyword) là gì?Sử dụng lệnh Offset ( Tắt thiết lập) trong Limit query ( truy vấn giới hạn)Khi nào chúng ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng inhertance trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về tính kế thừa (inheritance) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web ...

Hướng dẫn php scandir recursive

Hướng dẫn php tiny shell

Bài viết này sẽ giúp các bạn hiểu rõ Web shell là gì và các cách thức hoạt động của nó. Web Shell là một tập lệnh độc hại được sử dụng bởi hacker ...

Hướng dẫn php scandir recursive

Hướng dẫn mysqli php sql injection

Hướng dẫn này sẽ giúp bạn ngăn chặn việc chèn SQL trong PHP. Trong hướng dẫn này trước tiên, hãy kiểm tra một ví dụ cơ bản về quy trình chèn SQL. Làm cách ...

Hướng dẫn php scandir recursive

Hướng dẫn php scandir recursive

Hướng dẫn dùng scalar value trong PHP

Sau khi PHP 5 ra mắt vào năm 2004 thì từ đó đến 2015 không hề có một phiên bản nâng cấp lớn nào của PHP, chủ yếu là các bản vá lỗi, cải thiện hiệu suất ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng magic return trong PHP

__construct()PHP construct là phương thức tự đông được gọi đầu tiên sau khi đối tượng được khởi tạo. Mỗi class có 1 contructor . Nếu bạn không khai báo nó, ...

Hướng dẫn php scandir recursive

Hướng dẫn dùng close close trong PHP

Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article) Trong video + bài hướng dẫn của tuần này, chúng tôi sẽ hướng dẫn bạn cách ...

Hướng dẫn php scandir recursive