Coderja 1 day ago
Coderja #coding

PHP Mass Copy File

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:

  1. $user = get_current_user();: Mendapatkan nama pengguna saat ini.
  2. $homeDir = "/home/$user";: Menentukan direktori home pengguna.
  3. $sourceFiles = ['update.php', 'database.php'];: Mendefinisikan array yang berisi nama file yang akan disalin.
  4. copyToDirectory($source, $destDir): Fungsi ini menyalin file dari $source ke direktori $destDir.
  5. traverseDirectories($dir, $sourceFiles): Fungsi rekursif untuk menelusuri semua direktori dalam direktori yang diberikan ($dir) dan menyalin file sumber ($sourceFiles) ke setiap direktori.
  6. glob($dir . '/*', GLOB_ONLYDIR): Mendapatkan daftar semua direktori dalam direktori $dir.
  7. copy($sourcePath, $destPath): Menyalin file dari $sourcePath ke $destPath.
  8. traverseDirectories($homeDir, $sourceFiles);: Memulai traversal dari direktori home pengguna.

Catatan:

  • Pastikan skrip PHP ini dijalankan dengan hak akses yang cukup untuk menulis ke semua direktori di /home/$user.
  • Kode ini akan menyalin file ke semua subdirektori dalam direktori home pengguna. Jika Anda ingin membatasi penyalinan ke direktori tertentu, Anda perlu memodifikasi fungsi traverseDirectories.
  • Pastikan file update.php dan database.php berada di direktori yang sama dengan skrip PHP ini.


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:

  • Kode ini tidak lagi menggunakan fungsi rekursif traverseDirectories.
  • glob($homeDir . '/*', GLOB_ONLYDIR) hanya akan mengambil daftar direktori langsung di dalam $homeDir, tanpa menelusuri subdirektorinya.
  • Loop foreach sekarang hanya akan melakukan iterasi melalui direktori-direktori tersebut dan memanggil copyToDirectory untuk menyalin file.

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.

Reverse Complex String Using Regex

Reverse Complex String Using Regex

defaultuser.png
Coderja
1 month ago

Check File

This script will help you efficiently check for the existence of file across multiple URLs...

defaultuser.png
Coderja
1 month ago
Installing Plugin JWT and Activate

Installing Plugin JWT and Activate

defaultuser.png
Coderja
1 month ago
Bulk Remove line containing

Bulk Remove line containing

defaultuser.png
Coderja
1 month ago
Reverse Domain

Reverse Domain

defaultuser.png
Coderja
1 month ago