PHP でのファイルのダウンロードの強制: リモート ファイルの処理
ファイルをブラウザ内で開かずに強制的にダウンロードすることは、メディア ファイルにとって重要な場合があります。ビデオが別のサーバーに存在するこのシナリオに対処するために、PHP は HTTP ヘッダーの操作を含むソリューションを提供します。
// Locate the file. $file_name = 'file.avi'; $file_url = 'http://www.myremoteserver.com/' . $file_name; // Configure HTTP headers for forced download. header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"". $file_name . "\""); // Initiate the download process. readfile($file_url); // Terminate the script to prevent any further output. exit;
Content-Type を application/octet-stream として設定することで、ファイルがダウンロード用のバイナリ ストリームです。 Content-Transfer-Encoding: Binary では、ファイルのバイナリ形式がそのまま維持されることが保証されます。最後に、添付ファイル付きの Content-disposition により、ユーザーはブラウザでファイルを開くのではなく、ファイルをダウンロードするように求められます。
readfile では、リモート URL からファイルにアクセスするには fopen_wrappers が有効になっている必要があることに注意してください。この手法を利用すると、別のサーバーに保存されているファイルのダウンロードを効果的に強制でき、Web サイト訪問者にとってより使いやすいエクスペリエンスを提供できます。
以上がPHP でファイルのダウンロードを強制する方法: リモート ファイルの処理?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。