Cara Membuat dan Menghapus Direktori di PHP

Membuat dan Menghapus Direktori di PHP – Mengelola direktori adalah salah satu tugas kecil yang sering muncul ketika kita membuat aplikasi berbasis PHP. Entah itu untuk menyimpan file baru atau membuat folder khusus untuk pengguna.

Cara membuat dan menghapus direktori di PHP tidaklah sulit, karena bahasa pemrograman PHP sudah menyediakan beberapa fungsi bawaan untuk melakukan hal tersebut. Lalu, bagaimana cara melakukannya? Mari kita bahas!

Cara Membuat dan Menghapus Direktori di PHP

Untuk membuat dan menghapus direktori di PHP, kita dapat menggunakan dua fungsi bawaan PHP yaitu mkdir() dan rmdir(). Berikut masing-masing pembahasan kedua fungsi bawaan PHP tersebut.

1. Membuat Direktori dengan PHP

Bagaimana cara membuat direktori dengan PHP? Tentu saja kita dapat menggunakan fungsi mkdir() di PHP. Fungsi tersebut memiliki format dasar penulisannya sebagai berikut.

mkdir($directory, $permissions, $recursive, $context);

Seperti yang terlihat pada kode di atas, mkdir() di PHP memiliki 4 parameter yang dapat kita gunakan sebagai berikut.

  • $directory – Harus diisi dengan nama direktori atau folder yang akan dibuat.
  • $permissions – Bersifat opsional untuk memberikan izin akses ke direktori yang akan dibuat. Defaultnya adalah 0777.
  • $recursive – Bersifat opsional yang apabila diset true, maka akan membuat direktori induk (parent) yang belum ada. Jika false, hanya direktori tingkat yang ditentukan saja.
  • $context – Parameter ini jarang sekali digunakan yang memiliki nilai default null.

Dari keempat parameter tersebut, hanya parameter $directory yang wajib kita isi. Sisanya bersifat opsional. Berikut adalah contoh penggunaan fungsi mkdir() di PHP untuk membuat direktori atau folder. Silakan buat file PHP baru terlebih dahulu, lalu copy dan pastekan kode berikut ke dalamnya.

<?php
$directory = 'uploads';

if(!is_dir($directory)) {
  if(mkdir($directory)) {
    echo 'Direktori '.$directory.' berhasil dibuat.';
  } else {
    echo 'Direktori '.$directory.' gagal dibuat.';
  }
} else {
  echo 'Direktori '.$directory.' telah dibuat.';
}

?>

Pada kode di atas, saya mencoba membuat direktori dengan nama uploads yang memiliki beberapa pengecekan. Pengecekan pertama kita cek apakah ada direktori dengan nama uploads atau tidak, lalu apabila tidak ada, maka buat direktori tersebut pada baris kelima.

Jika Anda jalankan kode di atas dengan benar, maka folder uploads otomatis akan dibuat yang ditandai dengan output string Direktori uploads berhasil dibuat dan sebaliknya. Lalu, jika folder telah dibuat sebelumnya, maka akan muncul output string Direktori uploads telah dibuat.

2. Menghapus Direktori dengan PHP

Lalu, bagaimana menghapus direktori dengan PHP? Kita dapat menggunakan fungsi bawaan PHP rmdir() yang memiliki format dasar penulisan sebagai berikut.

rmdir($directory, $context);

Pada kode di atas terlihat bahwa fungsi rmdir() hanya memiliki 2 parameter saja yang masing-masing penjelasannya sebagai berikut.

  • $directory – Harus diisi dengan direktori yang akan dihapus.
  • $context – Parameter ini jarang sekali digunakan yang memiliki nilai default null.

Sama seperti parameter di mkdir(), parameter yang wajib Anda isi hanya $directory dan sisanya bersifat opsional. Berikut adalah contoh penggunaan fungsi rmdir() di PHP untuk menghapus direktori atau folder.

<?php
$directory = 'uploads';

if(is_dir($directory)) {
  if(rmdir($directory)) {
    echo 'Direktori '.$directory.' berhasil dihapus.';
  } else {
    echo 'Direktori '.$directory.' gagal dihapus.';
  }
} else {
  echo 'Direktori '.$directory.' tidak ada.';
}

?>

Jika diperhatikan, kode di atas sama persis seperti membuat direktori. Di sini, kita hanya sedikit modifikasi pada baris ke-4 dan ke-5. Apabila Anda jalankan kode di atas, maka hasilnya direktori uploads akan terhapus secara otomatis.

3. Menghapus Isi Direktori dengan PHP

Selanjutnya, kita akan sedikit memodifikasi kode yang telah kita bahas di atas agar dapat menghapus isi direktori yang meliputi isi file, sub-direktori, dan direktori utama. Silakan buat file PHP dengan nama functions.php lalu copy dan paste-kan kode berikut ke dalamnya.

<?php
function deleteDirectory($dir) {
  if(!is_dir($dir)) return false;
  $files = scandir($dir);

  foreach($files as $file) {
    if($file === '.' || $file === '..') continue;
    $path = $dir . '/' . $file;

    if(is_dir($path)) {
      deleteDirectory($path);
    } else {
      unlink($path);
    }
  }

  return rmdir($dir);
}
?>

Jika sudah, silakan buat satu file PHP baru lagi dengan nama index.php, lalu copy dan paste-kan kode berikut ke dalamnya.

<?php
require_once 'functions.php';
$target = 'uploads';
if(deleteDirectory($target)) {
  echo 'Direktori berhasil dihapus beserta isinya.';
} else {
  echo 'Gagal menghapus direktori.';
}
?>

Di sini, saya memanggil fungsi deleteDirectory() yang telah dibuat sebelumnya untuk menghapus isi direktori. Dalam hal ini, kita akan menghapus direktori uploads yang kita asumsikan ada beberapa file yang akan dihapus.

Silakan jalankan file index.php dan apabila dilakukan dengan benar, maka akan muncul ouput string Direktori berhasil dihapus beserta isinya yang menandakan seluruh isi direktori uploads telah berhasil dihapus, termasuk direktori utama dan sub-directory.

Penutup

Membuat dan menghapus direktori di PHP bukanlah hal yang sulit, namun pemahaman dasar ini membantu menjaga struktur aplikasi tetap rapi dan terkelola dengan baik. Dengan memanfaatkan fungsi-fungsi standar seperti mkdir() dan rmdir(), proses pengaturan direktori dapat dilakukan secara otomatis sehingga pengembangan menjadi lebih efisien dan terstruktur.

Demikian pembahasan pada kesempatan kali ini mengenai cara membuat dan menghapus direktori di PHP. Sekian dan semoga dapat bermanfaat.

Bagikan Ke

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *