PHP

2016-09-20 1 views
0

내가 모두 절대 경로에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); 

을 파일을 다운로드 그리고

$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); 

파일 이름을 시도 필자 PHP 스크립트에가는 Ajax 호출이 그 안에 파일을 다운로드 맞다. 무엇이 잘못 되었습니까? 여기에 구성 문제가있을 수 있습니까?

+1

** ** 어떻게 작동하지 않습니까? 다운로드하지 않습니까? 손상된 다운로드? 잘못된 다운로드? –

+0

"Mark B"가 명시한대로 "작동하지 않는 것"에 대한 정확한 세부 정보를 설명하십시오. 또한, 바이너리 바이트 스트림을 ajax 호출로 반향시킵니다. 해당 데이터로 수행하는 작업에 따라 자바 스크립트로 렌더링 할 때 몇 가지 문제가 발생할 수 있습니다. – eggmatters

답변

0

파일은 "ajax 호출"이 아닌 간단한 링크 (target = "_ blank"를 설정할 수 있음)를 사용하여 다운로드됩니다.