Copy File Ke Semua Directory dan sub directory
<?php $user = get_current_user(); $homeDir = "/home/$user"; $sourceFiles = ['update.php', 'database.php']; // Fungsi rekursif untuk menyalin file ke semua direktori function copyToDirectory($source, $destDir) { if (is_dir($destDir)) { foreach ($source as $file) { $sourcePath = $file; $destPath = $destDir . '/' . basename($file); if (!copy($sourcePath, $destPath)) { echo "Gagal menyalin $file ke $destDir\n"; } } } } // Rekursif melalui semua direktori dalam direktori home pengguna function traverseDirectories($dir, $sourceFiles) { $directories = glob($dir . '/*', GLOB_ONLYDIR); foreach ($directories as $directory) { copyToDirectory($sourceFiles, $directory); traverseDirectories($directory, $sourceFiles); } } // Mulai traversal dari direktori home pengguna traverseDirectories($homeDir, $sourceFiles); echo "File berhasil disalin ke semua direktori.\n"; ?>
Penjelasan Kode:
Catatan:
Cop File Hanya Ke directory tidak termasuk subdirectory
<?php $user = get_current_user(); $homeDir = "/home/$user"; $sourceFiles = ['update.php', 'database.php']; // Fungsi untuk menyalin file ke direktori function copyToDirectory($source, $destDir) { if (is_dir($destDir)) { foreach ($source as $file) { $sourcePath = $file; $destPath = $destDir . '/' . basename($file); if (!copy($sourcePath, $destPath)) { echo "Gagal menyalin $file ke $destDir\n"; } } } } // Mendapatkan daftar semua direktori dalam direktori home pengguna $directories = glob($homeDir . '/*', GLOB_ONLYDIR); // Menyalin file ke setiap direktori foreach ($directories as $directory) { copyToDirectory($sourceFiles, $directory); } echo "File berhasil disalin ke semua direktori.\n"; ?>
Penjelasan Kode:
Dengan perubahan ini, skrip hanya akan menyalin file update.php dan database.php ke direktori tingkat atas di dalam direktori home pengguna, tanpa masuk ke subdirektori.