Coding

Copy File PHP ke Semua Direktori Cpanel

0
Please log in or register to do it.

Kita bisa menggunakan PHP untuk melakukan iterasi melalui direktori di /home/domain/ dan menyalin file tersebut.

Berikut adalah script PHP yang bisa Anda gunakan. Simpan kode ini dengan nama misalnya deploy.php di lokasi yang sama dengan update.php.

<?php
// Lokasi file sumber
$source = __DIR__ . '/update.php';

// Direktori target (satu tingkat di atas folder saat ini)
$targetParent = '/home/domain/';

// Pastikan file sumber ada
if (!file_exists($source)) {
    die("Error: File update.php tidak ditemukan di direktori ini.\n");
}

// Membuka direktori target
if ($handle = opendir($targetParent)) {
    echo "Memulai proses penyalinan...\n\n";

    while (false !== ($entry = readdir($handle))) {
        $path = $targetParent . $entry;

        // Lewati '.' dan '..' serta pastikan itu adalah direktori
        if ($entry != "." && $entry != ".." && is_dir($path)) {
            
            $destination = $path . '/update.php';
            
            if (copy($source, $destination)) {
                echo "Berhasil: Disalin ke $destination\n";
            } else {
                echo "Gagal: Tidak bisa menyalin ke $destination\n";
            }
        }
    }
    closedir($handle);
    echo "\nProses selesai.";
} else {
    echo "Error: Tidak dapat membuka direktori $targetParent";
}
?>

Cara Menjalankan:

  1. Letakkan Script: Simpan kode di atas sebagai deploy.php di dalam folder /home/domain/domain.com/.
  2. Pastikan File Ada: Pastikan update.php juga ada di folder yang sama.
  3. Jalankan via Terminal (Direkomendasikan):
php deploy.php
  1. Atau jika ingin menjalankan lewat browser, akses domain-anda.com/deploy.php.

Catatan Penting:

  • Izin Akses (Permissions): Pastikan user PHP (biasanya www-data atau user akun Anda) memiliki izin menulis (write permission) ke folder-folder lain di bawah /home/domain/.
  • Keamanan: Segera hapus file deploy.php setelah selesai digunakan agar tidak disalahgunakan oleh orang lain.

Tips Alternatif (Gunakan Terminal): Jika Anda memiliki akses SSH, perintah satu baris ini jauh lebih cepat dan efisien daripada menggunakan PHP:

find /home/domian/ -maxdepth 1 -type d -exec cp update.php {} \;

sekarang bagaimana kalau menghapus update.php dari semua directory

Tentu, untuk menghapus file secara massal, logikanya hampir sama dengan proses menyalin, namun kita mengganti fungsi copy() dengan unlink().

Berikut adalah script PHP untuk menghapus file update.php dari seluruh direktori di dalam /home/domain/.

Script PHP Hapus Massal

Simpan kode ini dengan nama cleanup.php di folder /home/domain/domain/.

<?php
// Nama file yang akan dihapus
$fileName = 'update.php';

// Direktori target utama
$targetParent = '/home/ukdomain1/';

if ($handle = opendir($targetParent)) {
    echo "Memulai proses penghapusan file $fileName...\n\n";

    while (false !== ($entry = readdir($handle))) {
        $path = $targetParent . $entry;

        // Pastikan itu adalah direktori dan bukan titik (.) atau (..)
        if ($entry != "." && $entry != ".." && is_dir($path)) {
            
            $filePath = $path . '/' . $fileName;
            
            // Cek apakah file tersebut ada sebelum dihapus
            if (file_exists($filePath)) {
                if (unlink($filePath)) {
                    echo "Dihapus: $filePath\n";
                } else {
                    echo "Gagal: Tidak bisa menghapus $filePath (Cek izin akses)\n";
                }
            } else {
                echo "Skip: File tidak ditemukan di $path\n";
            }
        }
    }
    closedir($handle);
    echo "\nProses pembersihan selesai.";
} else {
    echo "Error: Tidak dapat membuka direktori $targetParent";
}
?>

Cara Menjalankan

  1. Lewat Terminal (SSH): php cleanup.php
  2. Lewat Browser: Akses


Solusi Cepat via Terminal (SSH)

Jika Anda ingin cara yang lebih instan tanpa membuat file PHP, Anda bisa menggunakan perintah Linux ini langsung di terminal:

find /home/domain/ -name "update.php" -type f -delete

Perintah ini akan mencari semua file bernama update.php di dalam folder tersebut dan langsung menghapusnya.

Peringatan: Harap berhati-hati saat menjalankan perintah hapus. Pastikan nama file sudah benar agar tidak menghapus file sistem yang penting secara tidak sengaja.

Apakah Anda ingin saya buatkan satu script “Master” yang bisa melakukan copy sekaligus delete hanya dengan mengganti satu variabel saja?

Regex Replace di Notepad++
Cara Menambahkan atau Menampilkan code script di WordPress

Your email address will not be published. Required fields are marked *