2016-09-09 2 views
0

프로젝트의 원격 PDF를로드하고 서버에 저장하려고하지만 링크에 파일 확장자가 없습니다. 그것은 일종의 안전한 링크입니다. 원격 PDF 다운로드

https://www.enablelogistics.com.au/BECPRD/SSOAuth.aspx?SESSION_KEY=F86A56B3-D12C-4E70-AE71-A8A422B3EA4E&LINK_PAGE=ITINERARYENC&TRANS_ID=A25D191B-B098-4F45-9217-FB6D2B70F803

나는 내가 PDF 파일을 다운로드 할 수 있습니다 브라우저에서 링크를 열고,하지만 내 스크립트를 저장하는 것이 더 성공이 없습니다

.

스크립트를 사용하여 내 서버에 PDF를 저장하는 방법이 있습니까? 내가 성공하지 않고 코드를 다음 시도 :

$url ="https://www.enablelogistics.com.au/BECPRD/SSOAuth.aspx?SESSION_KEY=F86A56B3-D12C-4E70-AE71-A8A422B3EA4E&LINK_PAGE=ITINERARYENC&TRANS_ID=A25D191B-B098-4F45-9217-FB6D2B70F803"; 
getFileContents($url); 

function getFileContents($url) 
{ 
// Workaround: Save temp file 
$img = tempnam(sys_get_temp_dir(), 'pdf-'); 
$img .= '.' . pathinfo($url, PATHINFO_EXTENSION); 

$fp = fopen($img, 'w+'); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

$result = curl_exec($ch); 
curl_close($ch); 

fclose($fp); 

return $result ? $img : false; 
} 

나는 여기에 스크립트를 발견 Downloading a large file using curl

+0

글쎄, 처음에는 온라인으로 게시하는 것에 session_key를 포함시키지 않으려 고합니다. 또한, 이것과 같은 관련 스레드를 확인 했습니까? http://stackoverflow.com/questions/15076323/how-to-download-this-pdf-file-using-php ?? – Kaylined

+0

아니, 그 스레드를 봤어. 고마워. 내가 살펴볼거야. – Leroy

답변

0

파일 다운로드 (이진 여부)하려면 file_get_contents()를 사용할 수 있습니다. file_get_contents는 파일 내용을 문자열로 반환합니다.

//Download PDF content 
$pdfContent = file_get_contents("https://www.enablelogistics.com.au/BECPRD/SSOAuth.aspx?SESSION_KEY=XXXXXXX-DDDD-4444-AAAA-XXXXXXX&LINK_PAGE=ITINERARYENC&TRANS_ID=AAAAAAAA-3333-5555-6666-222222222"); 

$fileName = "myPDF.pdf"; 
$fp = fopen($fileName, 'w+'); 
//Write content into the file 
fwrite($fp, $pdfContent); 
fclose($fp); 

file_get_contents의 옵션을 사용하여 GET 또는 POST 메소드, 기본 인증 등을 지정할 수 있습니다.

0

답장을 보내 주셔서 감사합니다. 그러나 귀하의 코드는 찾고자하는 PDF를 저장하지 않습니다.

WWW.ENABLELOGISTICS 물류 활성화 v95.4248
오신 것을 환영합니다 로그인을
물류 사용자 이름과 비밀번호를 입력하십시오 사용하는
암호를 잊으 :. 그것은 HTML의 내용으로 PDF를 금고?
© Bright People Technologies Pty Ltd

나는 내 서버에 PDF를 다운로드하는 데 실마리가 없습니다. 링크 만 클릭하면 로컬에서 다운로드 할 수 있습니다.