Karena seringnya terpakai, daripada repot cari-cari lagi di laptop, mending paste disini aja deh.
master-copy.php
Buat menampilkan semua kode di satu direktori
<?php
// Mendapatkan direktori saat ini
$directory = __DIR__;
// Daftar ekstensi file yang ingin dipindai
$extensions = ['php', 'html', 'js', 'json'];
// Menyimpan hasil dalam variabel
$output = '';
// Membuka direktori dan memindai file
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
// Mengabaikan file master-copy.php dan direktori '.' dan '..'
if ($file != 'master-copy.php' && $file != '.' && $file != '..') {
// Mendapatkan ekstensi file
$file_extension = pathinfo($file, PATHINFO_EXTENSION);
// Memeriksa apakah ekstensi file ada dalam daftar
if (in_array($file_extension, $extensions)) {
// Membaca isi file
$file_content = htmlspecialchars(file_get_contents($file));
// Menambahkan hasil ke output
$output .= "file: $filen```n$file_contentn```nn";
}
}
}
closedir($handle);
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Master Copy</title>
</head>
<body>
<h1>Master Copy of Files</h1>
<textarea rows="20" cols="80"><?php echo $output; ?></textarea>
</body>
</html>
_create.php
buat memudahkan bikin file sekaligus banyak
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Build Fast</title>
<style>
body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f4f4f4; }
h1 { text-align: center; color: #333; }
.file-input { margin-bottom: 20px; }
textarea { width: 100%; height: 150px; padding: 10px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 4px; font-family: monospace; }
input[type="text"] { width: 100%; padding: 10px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 4px; font-family: Arial, sans-serif; }
.directory-input { background-color: #e0f7fa; }
.filename-input { background-color: #fff3e0; }
button { padding: 10px 20px; margin-right: 10px; margin-bottom: 20px; cursor: pointer; border: none; border-radius: 4px; font-size: 16px; }
#add-file { background-color: #4caf50; color: white; }
#add-file-dir { background-color: #2196f3; color: white; }
button[type="submit"] { background-color: #ff9800; color: white; width: 100%; }
.file-block { border: 1px solid #ccc; padding: 20px; margin-bottom: 15px; border-radius: 5px; background-color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
</style>
</head>
<body>
<h1>Build Fast</h1>
<form action="" method="POST">
<div id="file-container">
<div class="file-block">
<input type="text" name="directories[]" class="directory-input" placeholder="Enter directory (e.g., include) or leave blank" />
<input type="text" name="filenames[]" class="filename-input" placeholder="Enter filename (e.g., config.php)" required>
<textarea name="contents[]" placeholder="Enter file content here..." required></textarea>
</div>
</div>
<button type="button" id="add-file">+ Add Another File</button>
<button type="button" id="add-file-dir">+ Add Another File in Directory</button>
<button type="submit" name="process">Process</button>
</form>
<script>
document.getElementById('add-file').addEventListener('click', function() {
var container = document.getElementById('file-container');
var block = document.createElement('div');
block.className = 'file-block';
block.innerHTML = `
<input type="text" name="directories[]" class="directory-input" placeholder="Enter directory (e.g., include) or leave blank" />
<input type="text" name="filenames[]" class="filename-input" placeholder="Enter filename (e.g., script.js)" required>
<textarea name="contents[]" placeholder="Enter file content here..." required></textarea>
`;
container.appendChild(block);
});
document.getElementById('add-file-dir').addEventListener('click', function() {
var container = document.getElementById('file-container');
var block = document.createElement('div');
block.className = 'file-block';
block.innerHTML = `
<input type="text" name="directories[]" class="directory-input" placeholder="Enter directory (e.g., include)" required>
<input type="text" name="filenames[]" class="filename-input" placeholder="Enter filename (e.g., config.php)" required>
<textarea name="contents[]" placeholder="Enter file content here..." required></textarea>
`;
container.appendChild(block);
});
</script>
<?php
if (isset($_POST['process'])) {
$directories = $_POST['directories'];
$filenames = $_POST['filenames'];
$contents = $_POST['contents'];
foreach ($filenames as $index => $filename) {
$directory = $directories[$index];
if ($directory) {
$dirPath = __DIR__ . '/' . $directory;
if (!is_dir($dirPath)) {
mkdir($dirPath, 0755, true); // Buat direktori jika belum ada
}
$filepath = $dirPath . '/' . $filename;
} else {
$filepath = __DIR__ . '/' . $filename;
}
file_put_contents($filepath, $contents[$index]);
echo "<p>File <strong>$filename</strong> created successfully in " . ($directory ? $directory : "root") . " directory.</p>";
}
}
?>
</body>
</html>