Загрузите файл из определенной папки с помощью PHP и ajax
Мне необходимо загрузить различные типы файлов из папки spesicif с помощью ajax .проблема в том, что при выполнении кода я получаю это сообщение
[ здесь]
Я искал подобные учебники я не нашел решения не могли бы вы помочь
Что я уже пробовал:
Это мое index.php файл
$(function(){ fetchData(); function fetchData(){ $.ajax({ url:"ajax.php", method:"post", success:function(data){ $('#data').html(data); } }) } $(document).on('click','.download',function(e){ e.preventDefault(); var fileName=$(this).attr("id"); $.ajax({ url:"download.php", method:"post", data:{fileName:fileName}, success:function(e){ alert(e); } }) }); })
это мое ajax.php файл, который я использую, заполняет таблицу информации о файле (например, имена и количество загрузок)
<?php $handleDir = opendir($directory) or die('error'); $fileName = array(); $count = (count(scandir($directory)) - 2); $output .= '<table class="table table-bordered"> <th width="20%">File Name</th> <th width="10%">Download Count</th> '; if ($count) { while ($file = readdir($handleDir)) { if ($file == '.' || $file == '..') { continue; } $fileName[] = $file; } $query = 'select * from download_manager order by id desc'; $fileInfo = array(); $result = mysqli_query($link, $query); if (mysqli_num_rows($result)) { while ($singleFile = mysqli_fetch_array($result)) { $fileInfo[$singleFile['filename']] = $singleFile['downloads']; } } foreach ($fileName as $key => $value) { $output .= '<tr><td > <span class="download" id="'.$value.'">'.$value.'</span> </td> <td>'.$fileInfo[$value].'</td> </tr>'; } } $output .= '</table>'; echo $output; ?>
И это моя ошибка загрузки php файла происходит здесь
if (isset($_POST['fileName'])) { $fileName = $_POST['fileName']; if (file_exists($directory.'/'.$fileName)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.$directory.'/'.$fileName); header('Content-Length: '.filesize($directory.'/'.$fileName)); ob_clean(); flush(); readfile($directory.'/'.$fileName); echo 'ok'; exit; } else { echo 'no file'; } }
любая помощь будет очень признательна спасибо
Richard MacCutchan
"Проблема в том, что при выполнении кода я получаю это сообщение".
И вы думаете, что мы можем догадаться, какое сообщение и где оно происходит?
Richard MacCutchan
Вы обновили вопрос, но мы все еще не знаем, какое сообщение или где оно происходит.