在PHP

2016-09-20 41 views
0

我有一個Ajax調用去一個PHP腳本下載一個文件,在PHP

$filename = $_SERVER['DOCUMENT_ROOT'].$prospectusFiles[0]['url']; 
    header('Content-Description: File Transfer'); 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename='.urlencode($filename)); 
    header('Content-Transfer-Encoding: binary'); 
    header('Expires: 0'); 
    header('Cache-Control: must-revalidate'); 
    header('Pragma: public'); 
    header('Content-Length: ' . filesize($filename)); 
    echo file_get_contents($filename); 

並且Ive試圖

$file_name='prospectus.pdf'; 
    $file_url = $_SERVER['DOCUMENT_ROOT'].$prospectusFiles[0]['url']; 
    header('Content-Type: application/octet-stream'); 
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"".$file_name."\""); 
    echo readfile($file_url); 

名兩個是絕對路徑,並將其下載文件是正確的。什麼是錯的,這裏可能有配置問題嗎?

+1

**如何**這是行不通的?沒有下載?損壞的下載?錯誤的下載? –

+0

請詳細解釋@Mark B所說的「不工作」的詳細信息。另外,你將一個二進制字節流回傳給ajax調用。根據你對這些數據的處理方式,你可能會在使用javascript進行渲染時遇到一些問題。 – eggmatters

回答

0

將使用簡單鏈接下載您的文件(您可以設置target =「_ blank」)而不是「ajax call」。