在PHP開發中,實現文件下載可以通過以下幾種方法:
在PHP腳本中,你可以通過設置HTTP頭信息來實現文件下載功能。以下是一個簡單的示例:
<?php
$file_path = 'path/to/your/file.ext';
if (file_exists($file_path)) {
// 設置文件名和文件類型
$file_name = basename($file_path);
$file_type = mime_content_type($file_path);
// 設置HTTP頭信息
header('Content-Description: File Transfer');
header('Content-Type: ' . $file_type);
header('Content-Disposition: attachment; filename="' . $file_name . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
// 清空緩沖區并輸出文件內容
ob_clean();
flush();
// 讀取文件并發送給瀏覽器
readfile($file_path);
exit;
} else {
echo 'File not found.';
}
?>
你還可以使用HTML表單來觸發文件下載。以下是一個簡單的示例:
<!DOCTYPE html>
<html>
<head>
<title>File Download</title>
</head>
<body>
<form action="download.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToDownload" />
<input type="submit" value="Download File" />
</form>
</body>
</html>
在這個示例中,當用戶選擇一個文件并點擊下載按鈕時,download.php
腳本將被調用。你需要在download.php
腳本中設置HTTP頭信息來實現文件下載功能,如下所示:
<?php
$file_path = 'path/to/your/file.ext';
if (file_exists($file_path)) {
// 設置文件名和文件類型
$file_name = basename($file_path);
$file_type = mime_content_type($file_path);
// 設置HTTP頭信息
header('Content-Description: File Transfer');
header('Content-Type: ' . $file_type);
header('Content-Disposition: attachment; filename="' . $file_name . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
// 清空緩沖區并輸出文件內容
ob_clean();
flush();
// 讀取文件并發送給瀏覽器
readfile($file_path);
exit;
} else {
echo 'File not found.';
}
?>
以上兩種方法都可以實現文件下載功能。你可以根據自己的需求選擇合適的方法。