在PHP中,可使用內建的readfile()
函式來實現檔案下載。 readfile()
函式讀取一個檔案並將其寫入輸出緩衝區。
語法
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
$filename
:表示檔案名$use_include_path
:它是可選引數。它預設為false
。可以將其設定為true
以搜尋included_path
中的檔案。$context
:表示上下文流資源。int
:它返回從檔案讀取的位元組數。在您的網站目錄下(我使用的是 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);
?>
檔案: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);
?>