0

さて、ダウンロード可能なさまざまなデータセットを含む Web サイトがあります。さて、各ファイルを個別にクリックして PC に保存することを選択するのではなく、PHP を使用してループを実行し、必要なすべてのファイルを強制的にダウンロードする方法はありますか。この場合、私はユーザーであり、サーバー側にはアクセスできません。私がすでに読んだことのほとんどは、他のユーザーが何かをダウンロードできるように自分の Web サイトをセットアップする人々に関するものです。

詳細:

これで、各ファイルがたとえば blahblah.com/downloadset1、/downloadset2、...、/downloadsetN にあることがわかりました。

次に、必要な各セット番号をコンマで区切って入力できるテキスト ボックスを設定します。例: [ 1, 2, 300, 4325 ]

そこから、スクリプトで「blahblah.com/downloadset」の末尾にテキスト ボックスの値を追加できます。

これにより、(blahblah.com/downloadset1、blahblah.com/downloadset2、blahblah.com/downloadset300、blahblah.com/downloadset4325)の配列が得られます

現在、これらのアドレスにはコンテンツがなく、ダウンロード自体が含まれているため、アドレス バーにアドレスを入力すると、保存するか開くかを尋ねるダウンロード ポップアップが表示されます。

スクリプトに何かを書き込んで、新しいダウンロード アドレスの配列をループさせ、それぞれのアドレスを尋ねられることなく、「保存」としてダウンロードを開始することはできますか?

4

1 に答える 1

2

ファイルを保存できるようにする場合は、書き込み可能なマシンでスクリプトを実行する必要があります。では、ローカル マシンで php を実行していると仮定しましょう。次に、答える必要がある質問が 2 つある可能性があります。

1) ダウンロードしたいファイルの名前のリストを作成するにはどうすればよいですか?

2) プログラムでファイルをダウンロードするにはどうすればよいですか?

あなたの質問から、最初の部分を理解したように聞こえます。リスト内のすべてのファイルをダウンロードする php スクリプトを作成する 2 番目の部分だけを取り上げます。これには、curl (sometimes written cURL)またはwget. 「curl を使用してファイルをダウンロード」または「wget を使用してファイルをダウンロード」と入力すると、大量の情報を見つけることができるので、最小限の例http://www.floris.us/SO/IMG_0250.jpgを挙げますimage1.jpg。スクリプトを として保存する場合はcurlTest.php、次のように実行します。

php curlTest.php

ここから実行できるはずです (ループの構築、診断の追加、エラー チェックなど)。

<?php
$url = 'http://www.floris.us/SO/IMG_0250.jpg';
$outputfile = "image1.jpg";
$cmd = "wget -q \"$url\" -O $outputfile";
exec($cmd);
?>

設定を誤解している場合は、コメントでお知らせください。

于 2013-02-02T02:50:30.893 に答える