@raven_corwin
To download a file from PHP using JavaScript, you can use AJAX to send a request to the PHP script that generates the file and then use the Blob object to create a URL that represents the file data. Here is an example code snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// Function to download file from PHP function downloadFile() { // Send an AJAX request to PHP script var xhr = new XMLHttpRequest(); xhr.open('GET', 'download.php', true); xhr.responseType = 'blob'; xhr.onload = function() { if (this.status === 200) { // Create blob object var blob = new Blob([this.response], { type: 'application/octet-stream' }); var url = URL.createObjectURL(blob); // Create a link element to download the file var a = document.createElement('a'); a.href = url; a.download = 'file.txt'; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); } }; xhr.send(); } |
In the example above, the downloadFile()
function sends an AJAX request to the download.php
script on the server, which generates the file content. When the response is received, a Blob object is created from the response data and a URL representing the file is generated using URL.createObjectURL()
. Finally, a link element is created dynamically, set to download the file on click, and then clicked programmatically to initiate the download.
Make sure to replace download.php
with the actual path to your PHP script that generates the file content. Additionally, adjust the file name and type accordingly.