Are there alternative methods to implement a download counter in PHP that do not rely on JavaScript onclick functions?

The issue with relying on JavaScript onclick functions for a download counter in PHP is that it may not be reliable if users have JavaScript disabled. An alternative method to implement a download counter in PHP is to use server-side logic to track and increment the download count when a user accesses the download link.

<?php
// Check if the download link is clicked
if (isset($_GET['download'])) {
    // Increment the download count
    $file = 'file_to_download.zip';
    $download_count = (int)file_get_contents('download_count.txt');
    $download_count++;
    file_put_contents('download_count.txt', $download_count);

    // Serve the file for download
    header('Content-Type: application/zip');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}

// Display the download count
$download_count = (int)file_get_contents('download_count.txt');
echo 'Total downloads: ' . $download_count;

// Display the download link
echo '<a href="?download=1">Download File</a>';
?>