PHP原生函数做文件上传下载功能的代码是什么
Admin 2022-09-20 群英技术资讯 517 次浏览
if ( $_FILES && $_FILES['attachment'] && $_FILES['attachment']['tmp_name']){ $filesize = $_FILES['attachment']['size']; //文件上传大小限制:5M if($filesize > 5*1024*1024){ exit('上传文件大小超出限制!'); } //文件保存目录,如果不存在则创建之 $uploaddir = ROOT_DIR.'/public/attachment/notice/'; if(!file_exists($uploaddir)) mkdir($uploaddir,0755,true); //获取上传文件扩展名 $arr_file = explode('.', basename($_FILES['attachment']['name'])); $filetype = $arr_file[count($arr_file)-1]; //获取源文件名 $attachment_name = basename($_FILES['attachment']['name']); //对文件进行重命名以避免中文字符的影响 $fname = md5(basename($_FILES['attachment']['name']).microtime()).'.'.$filetype; $uploadfile = $uploaddir . $fname; if (move_uploaded_file($_FILES['attachment']['tmp_name'], $uploadfile)) { //获取文件相对路径 $attachment = '/public/attachment/notice/'. $fname; } else { exit('文件上传失败!'); } }
注:"attachment"是上传文件name,根据项目中的具体属性值修改之。本上传处理未对文件类型做限制处理,可根据具体需求自己处理之。
文件下载:
//输入文件标签 Header ( "Content-type: application/octet-stream" ); Header ( "Accept-Ranges: bytes" ); Header ( "Accept-Length: " . filesize ( $attachment_filepath ) ); Header ( "Content-Disposition: attachment; filename=" . $attachment_filename ); //输出文件内容 //读取文件内容并直接输出到浏览器 echo file_get_contents($attachment_filepath); exit ();
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Laravel框架实现的批量删除功能,结合实例形式分析了Laravel框架批量删除功能相关的前端界面布局及后台控制器实现技巧,需要的朋友可以参考下
这篇文章主要介绍了使用php操作xml教程,本篇文章通过简要的案例和文档描述,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
本篇文章给大家介绍一下PHP7.x中各个版本的新特性。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。
你清楚php如何实现异步执行吗?其实利用四种方式来处理就行,如果你对这方面感兴趣的话,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008