この記事について
| 環境 | PHP |
|---|---|
| 目的 | ファイル(例:mp3)をダウンロードする |
| 結果 | サーバー保存はfile_get_contents+file_put_contents。PC保存はHTTPヘッダを送ってreadfile |
PHPでファイルをダウンロードするサンプルコードです。
例として、mp3ファイルをダウンロードします
ケース1 サーバーにダウンロードする
<?php
// ダウンロード元のファイルパス(絶対パス、ファイル名まで含む)を指定する
$url = 'http://example.com/voice/voice.mp3';
$data = file_get_contents($url);
file_put_contents('./download/hozon.mp3',$data); //ファイルの保存先
?>
ケース2 PCにダウンロードする
<?php
// ダウンロード元のファイルパス(絶対パス、ファイル名まで含む)を指定する
$fullpath = 'http://example.com/voice/voice.mp3';
// 保存時のファイル名を設定
$filename = 'hozon.mp3';
// HTTPヘッダ送信。ローカルPCに保存するためのダイアログが出る。
header("Content-type: audio/mpeg"); //mp3の場合。ファイルの種類によって適宜変更
header("Content-Disposition: attachment; filename=$filename");
// ファイルを読み込んで出力します。
readfile($fullpath);
?>
