我正在尝试从服务器下载文件,它适用于pdf文件,我想知道有没有办法下载任何类型的文件,如doc,zip等..
我的代码:
<?php
$doc = $sqlite->readDoc($documentId);
if ($doc != null) {
header("Content-Type:" . $doc['mime_type']);
header('Content-disposition: attachment; filename="something"');
print $doc['doc'];
} else {
echo 'Error occured while downloading the file';
}
?>
答案 0 :(得分:1)
您需要识别文件 - 可能使用此功能:
http://php.net/manual/en/function.mime-content-type.php
然后您可以创建一个开关来指示内容类型和适当的处置。这里有一个不错的例子:PHP - send file to user
答案 1 :(得分:1)
一个简单的函数,可用于下载任何文件格式化路径。
function DownloadFile($strFilePath)
{
$strContents = file_get_contents(realpath($strFilePath));
if (strpos($strFilePath,"\\") > -1 )
$strFileName = substr($strFilePath,strrpos($strFilePath,"\\")+1);
else
$strFileName = substr($strFilePath,strrpos($strFilePath,"/")+1);
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=\"${strFileName}\"");
echo $strContents;
}
使用示例
$file = $_GET['file_id'];
$path = "../uploads/".$file; // change the path to fit your websites document structure
DownloadFile($path);