在 php 中下载上传的文件,需以下步骤:获取文件的信息,判断上传是否成功;获取临时文件路径;设置文件头;读取并输出文件。
PHP 中如何下载上传的文件
在 PHP 中,你可以使用以下步骤下载上传的文件:
1. 获取上传文件的详细信息
$file = $_FILES['myfile'];
2. 检查文件上传是否成功
立即学习“PHP免费学习笔记(深入)”;
if ($file['error'] == 0) {
// 文件上传成功
} else {
// 文件上传失败,输出错误信息
switch ($file['error']) {
case UPLOAD_ERR_INI_SIZE:
echo '文件大小超过了 php.ini 中的 upload_max_filesize 设置';
break;
case UPLOAD_ERR_FORM_SIZE:
echo '文件大小超过了表单中 MAX_FILE_SIZE 设置';
break;
case UPLOAD_ERR_PARTIAL:
echo '文件只有部分被上传';
break;
case UPLOAD_ERR_NO_FILE:
echo '没有文件被上传';
break;
case UPLOAD_ERR_NO_TMP_DIR:
echo '没有找到临时目录';
break;
case UPLOAD_ERR_CANT_WRITE:
echo '无法将文件写到磁盘';
break;
case UPLOAD_ERR_EXTENSION:
echo '文件上传被扩展阻止了';
break;
}
}
3. 获取文件路径
$filePath = $file['tmp_name'];
4. 设置文件头
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $file['name'] . '"');
5. 读取文件并输出
readfile($filePath);