How can the PHP script be optimized to efficiently handle the automatic refresh every 40 seconds while displaying images from the folder?

The PHP script can be optimized by utilizing AJAX to asynchronously fetch and display images from the folder every 40 seconds without refreshing the entire page. This will improve performance and user experience by reducing unnecessary page reloads.

<?php
// Directory where images are stored
$imageDir = 'images/';

// Get all image files from the directory
$images = glob($imageDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);

// Output HTML for displaying images
echo '<div id="image-container"></div>';

// JavaScript code for automatic image refresh every 40 seconds
echo '<script>
    function refreshImages() {
        var container = document.getElementById("image-container");
        var randomImage = "' . $images[array_rand($images)] . '";
        container.innerHTML = "<img src=\'" + randomImage + "\' alt=\'Image\' />";
    }
    
    setInterval(refreshImages, 40000); // Refresh images every 40 seconds
</script>';
?>