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
を
私は上記の最初の例がうまくいかず、2番目の例がうまくいかない理由で紛失しています。私がしたのは、urlを入力して変数に代入することだけでした。
私は、DownloadFile関数を含め、より多くのコードを提供できます。
ソースコードにURLを入力しなくても動作させる方法を見つけられませんでした。
ありがとうございました。