PHP原生函数做文件上传下载功能的代码是什么
Admin 2022-09-20 群英技术资讯 764 次浏览
这篇文章给大家分享的是“PHP原生函数做文件上传下载功能的代码是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php中autoload怎样使用?对于学习PHP新手来说,对于autoload()函数的使用可能不太清楚,对此,这篇文章就给大家介绍一下autoload的用法以及步骤,有着方面学习需求的朋友可以看一下。
今天小编就为大家分享一篇关于laravel 子查询 & join的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PHP 提供了丰富的图像处理函数,下面我们来看看都有哪些,及它们的用处是什么。此外,本文还介绍了GD库的使用,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
php架构的意思:1、php架构主要由四个体系组成。2、zend基于不同环境所支持的上层API交互形式,sapi存储PHP相关核心代码,Extensions 扩展是常用的内置函数,上层应用是指PHP编程人员所编写的PHP程序。
PHP调用异步执行有哪些,各有什么特点?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008