What are the best practices for implementing a rudimentary version control system using PHP for projects where Git is not a viable solution?

When Git is not a viable solution for version control in PHP projects, a rudimentary version control system can be implemented by creating a simple directory structure to store different versions of files. Each time a file is updated, a new copy of the file can be saved in a versioned directory with a timestamp appended to the filename. This allows for easy rollback to previous versions if needed.

<?php
// Define the directory structure for version control
$projectDirectory = 'project/';
$versionsDirectory = 'versions/';

// Create a new version of a file
function createVersion($filename) {
    global $projectDirectory, $versionsDirectory;
    
    $timestamp = time();
    $newFilename = $versionsDirectory . $filename . '_' . $timestamp;
    
    if(!file_exists($versionsDirectory)) {
        mkdir($versionsDirectory);
    }
    
    copy($projectDirectory . $filename, $newFilename);
}

// Rollback to a previous version of a file
function rollbackVersion($filename, $timestamp) {
    global $projectDirectory, $versionsDirectory;
    
    $oldFilename = $versionsDirectory . $filename . '_' . $timestamp;
    
    if(file_exists($oldFilename)) {
        copy($oldFilename, $projectDirectory . $filename);
    }
}
?>