PHP下載檔案


在PHP中,可使用內建的readfile()函式來實現檔案下載。 readfile()函式讀取一個檔案並將其寫入輸出緩衝區。

PHP readfile()函式

語法

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
  • $filename:表示檔案名
  • $use_include_path:它是可選引數。它預設為false。可以將其設定為true以搜尋included_path中的檔案。
  • $context:表示上下文流資源。
  • int:它返回從檔案讀取的位元組數。

HP下載檔案範例:文字檔案

在您的網站目錄下(我使用的是 D:/wamp/www)建立一個文字檔案: text.txt

檔案: download1.php

<?php  
$file_url = 'http://localhost/text.txt';  
header('Content-Type: application/octet-stream');  
header("Content-Transfer-Encoding: utf-8");   
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");   
readfile($file_url);  
?>

PHP下載檔案範例:二進位制檔案

檔案:download2.php

<?php  
$file_url = 'http://www.myremoteserver.com/file.exe';  
header('Content-Type: application/octet-stream');  
header("Content-Transfer-Encoding: Binary");   
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");   
readfile($file_url);  
?>