Как сделать progress bar php ajax через file_get_contents()?
@jerrold_langworth
To create a progress bar in PHP using Ajax and file_get_contents()
function, you can follow the steps below:
1 2 3 4 |
<div id="progress-bar-container"> <div id="progress-bar"></div> </div> <button id="start-process">Start Process</button> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<style> #progress-bar-container { width: 200px; border: 1px solid #ccc; padding: 5px; } #progress-bar { background: #4CAF50; height: 20px; width: 0; } #start-process { margin-top: 10px; } </style> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<script> document.getElementById('start-process').onclick = function() { var xhr = new XMLHttpRequest(); xhr.open('GET', 'process.php', true); // Update progress bar xhr.onreadystatechange = function() { if (xhr.readyState === 3 && xhr.status === 200) { var totalSize = xhr.getResponseHeader('Content-Length'); var loadedSize = xhr.responseText.length; var progress = Math.round((loadedSize / totalSize) * 100); document.getElementById('progress-bar').style.width = progress + '%'; } } xhr.send(); } </script> |
1 2 3 4 5 6 7 8 |
<?php // Start your process here // Make sure to update the relevant logic according to your requirements $file = file_get_contents('https://example.com/large_file.txt'); echo $file; ?> |
Note: This example assumes that you want to track the progress based on the content length of the response. However, file_get_contents()
might not provide real-time progress information. In this case, you may need to use more advanced techniques like curl
or server-side scripts to provide actual progress updates.