2016-06-21 3 views
0

У меня есть файлы, загруженные в папку сервера, и его путь сохраняется в базе данных. вид образца таблицы:Загрузить файл из папки сервера

id name resume 
1 N1 resume/abc.doc 
2 N2 resume/def.pdf 

На нажатии кнопки я хочу загрузить файлы (формат файл будет в основном быть DOCX, PDF) с сервера системы. Код, который я написал, загружает файл, но он либо пуст, либо поврежден. Может кто-нибудь, пожалуйста, как загрузить файлы с сервера

<a href="download.php?candidateid=<? echo $candidateid ?>">Download</a> 

download.php

$candidateid=$_GET['candidateid']; 

$filename = "Filename.docx"; 
header("Content-Disposition: attachment; filename=\"$filename\""); 
$flag = false; 
$sql = "SELECT resume FROM candidates where id='".$candidateid."' "; 
$result = mysqli_query($con, $sql); 
if (mysqli_num_rows($result) > 0) 
    { 
     while($row = mysqli_fetch_assoc($result)) 
      { 
       if (!$flag) 
        { 
         // display field/column names as first row 
         echo implode("\t", array_keys($row)) . "\r\n"; 
         $flag = true; 
        } 
       echo implode("\t", array_values($row)) . "\r\n"; 
      } 
    } 
+0

это файл XLS или DOCX – Afsar

+0

@zan это может быть любой файл, но в основном это будет DOCX и PDF – user3732711

+0

@Killan я проверил ссылку, но она не работает в моем случае – user3732711

ответ

1

Используя candidateid вы можете получить имя файла из таблицы, а затем хранить в переменной, а затем написать код

$file = '/path/to/your/dir/'.$file; 

if(!$file){ // file does not exist 
    die('file not found'); 
} else { 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=$file"); 
    header("Content-Type: application/zip"); 
    header("Content-Transfer-Encoding: binary"); 

    // read the file from disk 
    readfile($file); 
} 
Смежные вопросы