我正在嘗試使用PHP和cURL下載文件。我通過一系列cURL請求獲取了下載文件的URL。使用PHP下載文件問題
當我嘗試下載文件時,我得到一個空文件。請參閱相關的代碼如下:
...
$output = curl_exec($ch);
curl_close($ch);
$regex = '/\b(https?|ftp|file):\/\/resources\.lendingclub\.com\/secure[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $output, $parts);
$url3a = $parts[0][0];
OutputMsg($url3a); //print the content of $url3a
DownloadFile($url3a, 'testfile.zip'); //downloads the file using a cURL request
...
這將創建零個字節文件testfile.zip。並輸出以下屏幕:
https://resources.lendingclub.com/secure/LoanStats3a_securev1.csv.zip?signature=cmu73mJsyNhznZMBH6B%2FsFjoNuE%3D&issued=1459663950631
如果我添加一個線(見下文)
...
$output = curl_exec($ch);
curl_close($ch);
$regex = '/\b(https?|ftp|file):\/\/resources\.lendingclub\.com\/secure[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $output, $parts);
$url3a = $parts[0][0];
//line added below
$url3a = 'https://resources.lendingclub.com/secure/LoanStats3a_securev1.csv.zip?signature=cmu73mJsyNhznZMBH6B%2FsFjoNuE%3D&issued=1459663950631';
OutputMsg($url3a); //print the content of $url3a
DownloadFile($url3a, 'testfile.zip'); //downloads the file using a cURL request
...
文件被正確下載,屏幕輸出和以前一樣:
https://resources.lendingclub.com/secure/LoanStats3a_securev1.csv.zip?signature=cmu73mJsyNhznZMBH6B%2FsFjoNuE%3D&issued=1459663950631
我不知道爲什麼上面的第一個例子不起作用,第二個例子。我做的唯一的事情就是輸入網址並將其分配給變量。
我可以提供更多的代碼,包括DownloadFile函數。
我還沒有想出一種方法來使它工作,而無需在源代碼中輸入url。
謝謝。