PHP でファイルをダウンロードするにはさまざまな方法があり、さまざまなニーズに応じて最適な方法を選択できます。一般的に使用される方法には、readfile() 関数を使用して直接ダウンロードする方法、header() 関数を使用して強制的にダウンロードする方法、および cURL ライブラリを使用してリモート ファイルをダウンロードする方法があります。
ダウンロードする最も簡単な方法は、PHP の組み込み readfile() 関数を使用することです。
<?php
$file = 'file.txt';
if (file_exists($file)) {
readfile($file);
} else {
echo 'File not found.';
}
?>ファイルを直接開くのではなくブラウザにダウンロードさせたい場合は、header() を使用して HTTP ヘッダーを設定できます。
<?php
$file = 'file.txt';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Length: ' . filesize($file));
readfile($file);
} else {
echo 'File not found.';
}
?>リモート ファイルをダウンロードする必要がある場合、またはより複雑な操作を実行する必要がある場合は、cURL ライブラリを使用できます。
<?php
$url = 'https://example.com/file.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents('file.txt', $data);
?>上記は、PHP でファイルのダウンロードを実装する一般的な方法をいくつか示しています。ローカル ファイルのダウンロードでも、リモート ファイルの取得でも、これらの例を参照して簡単に実装できます。