I am rendering files details in html table by using below lines of code
for(var counterOfCerticateLoop in certificateDetailsArray)
{
var document_type_id = certificateDetailsArray[counterOfCerticateLoop]['document_type_id'];
var document_actual_name = certificateDetailsArray[counterOfCerticateLoop]['document_actual_name'];
var document_unique_name = certificateDetailsArray[counterOfCerticateLoop]['document_unique_name'];
var document_type = certificateDetailsArray[counterOfCerticateLoop]['document_type'];
var document_description = certificateDetailsArray[counterOfCerticateLoop]['document_description'];
var fileURL = '../student/certificates/'+document_unique_name;
var EditButton = '<button title="Edit" onclick="editContactDetail(\''+document_type_id+'\')" class="btn btn-primary table_btn btn-outline btn-sm"><i class="fa fa-pencil"></i></button>';
var DeleteButton = '<button title="Delete" onclick="deleteContactDetail(\''+document_type_id+'\')" class="btn btn-danger table_btn btn-outline btn-sm"><i class="fa fa-trash"></i></button>';
var DownloadButton = '<button title="Delete" onclick="download(\''+fileURL+'\')" class="btn btn-danger table_btn btn-outline btn-sm"><i class="fa fa-download"></i></button>';
var tableRow = '<tr><td>'+document_type+'</td>'+
'<td>' + document_actual_name + '</td>'+
'<td>'+document_description+'</td>'+
'<td>'+DownloadButton+EditButton+DeleteButton+'</td>';
$("#certificateTable").append(tableRow);
}
function download(url)
{
$.ajax({
url: '../common/downloadFile.php?path='+url,
type: 'post',
success: function(php_script_response){
window.location = php_script_response;
}
});
}
All of these lines of code are written view file. All the information are rendered in html table perfectly
In downloadFile.php the code is like
<?php
$path = $_REQUEST['path'];
if (file_exists($path))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>