Tutorial Membuat Fungsi Create Folder Recursive Menggunakan PHP

Tutorial Membuat Fungsi Create Folder Recursive Menggunakan PHP

sobatcoding.com - Tutorial Membuat Folder Recursive Menggunakan PHP

Artikel kali ini kita akan membuat fungsi sederhana untuk membuat recursive directory / recursive folder menggunakan php. Fungsi ini sangat sederhana namun penggunaannya sangat dibutuhkan untuk pembuatan sebuah directory atau folder yang bersifat multiple/ multi sub direktori. 

Bagaimana caranya? Langsung saja kita coba praktekkan.

 

Recursive Folder Menggunakan PHP

Contoh source code php untuk membuat recursive directory adalah seperti berikut:

<?php

/**
 * String $path path directory
 * int $mode permission code
 */
function mkdirRecursive($path, $mode = 0777 )
{
    $str = explode("/", $path);
    $dir = __DIR__;
    foreach ($str as $part) {
        $dir .= "/". $part ;
        if (!is_dir($dir) && strlen($dir) > 0 && strpos($dir, ".") == false) {
            mkdir($dir , $mode);
        }elseif(!file_exists($dir) && strpos($dir, ".") !== false){
           touch($dir);
        }
    }
}

mkdirRecursive(date("Y/m/d"));

 

Hasil dari kode di atas adalah seperti berikut.

 

Recursive Folder Menggunakan CodeIgniter 3

Kalian juga bisa implementasikan fungsi di atas ke framework CodeIgniter 3.

<?php
/**
  string $path nama/path folder yang akan dibuat
  int $mode kode permission
*/
function mkdirRecursive($path, $mode = 0777 )
{
    $str = explode("/", $path);
    $dir = FCPATH;
    foreach ($str as $part) {
        $dir .= "/". $part ;
        if (!is_dir($dir) && strlen($dir) > 0 && strpos($dir, ".") == false) {
            mkdir($dir , $mode);
        }elseif(!file_exists($dir) && strpos($dir, ".") !== false){
           touch($dir);
        }
    }
}

 

Hasil dari kode di atas akan membuat folder di root application sesuai dengan $path yang dibuat.

Contoh:

mkdirRecursive("assets/upload/" . date("Y/m/d"));

Kode di atas berfungsi untuk membuat folder assets/upload/2022/01/10.

 

Semoga bermanfaat.

Jika teman-teman memiliki pertanyaan atau saran mengenai artikel ini, jangan ragu untuk meninggalkan komentar pada form di bawah