次のコードを使用して、リモートファイルをサーバーにアップロードしています。直接ダウンロードリンクが指定されている場合はうまく機能しますが、最近、ダウンロードリンクとしてmysqlリンクを提供しているWebサイトがほとんどないことに気付きました。そのリンクをクリックすると、ファイルがPCにダウンロードされ始めます。ただし、そのページのhtmlソースでも、直接リンクは表示されません。
これが私のコードです:
<form method="post">
<input name="url" size="50" />
<input name="submit" type="submit" />
</form>
<?php
if (!isset($_POST['submit'])) die();
$destination_folder = 'mydownloads/';
$url = $_POST['url'];
$newfname = $destination_folder . basename($url);
$file = fopen ($url, "rb");
if ($file) {
$newf = fopen ($newfname, "wb");
if ($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
?>
ダウンロードリンクが直接のすべてのリンクでうまく機能します。たとえば、
http://priceinindia.org/muzicpc/48.php? id = 415508リンクを指定すると、音楽ファイルがアップロードされますが、ファイル名は48になります。 php?id = 415508ですが、実際のmp3ファイルは
http://lq.mzc.in/data48-2/37202/Appy_Budday_(Videshi)-Santokh_Singh(www.Mzc.in).mp3に保存されています。
したがって、実際のリンク先URLを取得できる場合、名前はAppy_Budday_(Videshi)-Santokh_Singh(www.Mzc.in).mp3になります。
だから私は実際のダウンロードURLを取得したいと思います。