2016-09-09 6 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を保存しません。 これは、HTMLコンテンツを含むPDFを金庫:。

WWW.ENABLELOGISTICSは物流v95.4248
は、サインインするには、ユーザー名とパスワードを入力してください
物流を有効にするためにようこそ有効
パスワードを忘れましたか?
©2016 Bright People Technologies Pty Ltd

私は自分のサーバーにpdfをダウンロードする手がかりがありません。 リンクをクリックするだけで、ローカルでダウンロードできます。

関連する問題