文件的上传与下载
1.文件上传
2.文件上传时需要注意的事项
3.实现文件上传
die()
函数
in_array()
函数
move_uploaded_file
— 将上传的文件移动到新位置
<?PHP
// 判断错误号
// test 为上传时input所定义的名字
if($_FILES['test']['error'] == 0) {
// 判断上传文件的类型是否是允许的
$type = array('image/jpeg', 'image/png', 'image/gif');
if(in_array($_FILES['test']['type'], $type)) {
// 判断文件大小是否可以
echo "可用文件类型\n";
if($_FILES['test']['size'] <= 100000) {
// 制作制定保存目录
echo "可用文件大小\n";
$path = './uopload';
if(!file_exists($path)) {
mkdir($path);
echo "创建文件成功\n";
} else {
echo "文件夹存在\n";
}
// 移动文件
// move_uploaded_file这个函数要注意
// 参数一 要为tmp_name,为他临时储存的位置(包括了她的名字)
// 参数二 要移动到的文件位置,这个位置要包括名字
if(move_uploaded_file($_FILES['test']['tmp_name'], $path . './' . $_FILES['test']['name'])) {
echo '文件上传成功';
}
}
}
}
?>
封装成函数:
<?PHP
// @parma1 上传表单的名称
// @parma2 上传文件的类型(数组形式)
// @parma3 保存上传文件的目录
function upload($pic, $info, $path) {
$file = $_FILES[$pic];
$info = array();
if($file['error'] == 0) {
if(in_array($file['type'], $info)) {
if(!file_exists($path)) {
mkdir($path);
}
if(move_uploaded_file($file['tmp_name'], $path.'/'.$file['name'])) {
echo '上传成功';
}
}
}
}
?>
4.文件下载
// 实现下载
// 声明要下载文件的类型
header('Content-type: application/pdf');
// 对下载的文件进行描述并且指定下载文件的名称
header('Content-disposition: attachment; filename="downloaded.pdf"');
// 读取下载文件
readfile('original.pdf');
例如
要下载一张图片
-
前端
<a href="download.PHP">本地下载</a>
-
后端
<?PHP // 声明要下载文件的类型 // 类型为图片 header('Content-type: image/jpeg'); // 对下载的文件进行描述并且指定下载文件的名称 // 下载图片的名字(全名包括后缀) header('Content-disposition: attachment; filename="Eva.jpg"'); // 读取下载文件 // 要/可供下载文件的位置(本地或网络) readfile('./概念图.jpg'); ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。