簡體   English   中英

PHP從其他受密碼保護的服務器下載文件

[英]PHP Downloading a file from a different password protected server

我正在構建一個允許用戶下載一些pdf文件的應用程序,但是這些文件存儲在受密碼保護的另一台服務器上,密碼是已知的。 將這些文件傳遞給用戶的最佳方法是什么。

MyAppIP/applicationfiles.php
FilesIP/PDF-Files/file1.pdf <-- this is password protected, but I know the pass.

我正在考慮先將文件保存在我自己的服務器上,因為它們的最大大小為100kb。 然后將它們傳遞給用戶並再次刪除本地文件,但是我還沒有完全弄清楚如何首先從其他服務器獲取文件。
那么,如何從php中的其他服務器獲取文件?

您可以使用CURL從受保護的服務器下載文件。 CURL還支持許多授權方法。 http://www.php.net/manual/zh/function.curl-setopt.php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'FilesIP/PDF-Files/file1.pdf');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "Login:Password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$file = curl_exec($ch);
curl_close($ch);

file_put_contents('/var/www/file.pdf', $file);

// return download link to user
// <a href="file.pdf">Download</a>

如果auth是基本的http並且已經安裝curl,則可以使用以下命令:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM