How can PHP be utilized to ensure that download links become inactive after being used once by a user?

To ensure that download links become inactive after being used once by a user, you can generate a unique token for each download link and store it in a database along with an expiration time. When a user clicks on the download link, you can check if the token is valid and has not expired before allowing the download to proceed. After the download is completed or the link expires, you can mark the token as used in the database to prevent further access.

<?php
// Generate a unique token for the download link
$token = bin2hex(random_bytes(16));

// Set the expiration time for the token (e.g., 1 hour)
$expiration_time = time() + 3600;

// Store the token and expiration time in the database
// Code to insert into database (e.g., using PDO)

// Check if the token is valid and has not expired
if(isset($_GET['token'])) {
    $token = $_GET['token'];
    // Code to validate token and check expiration time from database
    // If token is valid and not expired, allow download
    // If token is invalid or expired, display an error message
}
?>