从url下载csv文件并使用用户名密码保存在服务器上

时间:2017-03-20 13:37:47

标签: php csv

我想从网址下载csv文件并将其保存在我的服务器上。 但URL需要用户名/密码。

我还希望包含超时,以便它不会尝试下载超过30秒。

我目前试过这个,但是缺少用户名/密码。

我怎么能做到这一点?

file_put_contents("file.csv", fopen("http://url.com/path/to/file.csv", 'r'));

1 个答案:

答案 0 :(得分:0)

您需要使用curl下载文件

error_reporting(E_ALL);
ini_set('display_errors', 1);
$username = "user";
$password = "pass";
$url = "http://url/path/file.csv";
$fileout =  '/yourpath/filecurl.csv';
$fp = fopen ($fileout , 'w+');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
// write curl response to file
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$output = curl_exec($ch);
curl_exec($ch); 
curl_close($ch);
fclose($fp);

然后用您喜欢的方法以正常方式读取文件,这基本上是想法