介绍
这篇文章将为大家详细讲解有关利用php如何实现分类上传文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
具体代码如下所示:
& lt;及# 63;php/* * *文件上传类 * @author lijiamin * @time 2017-02-17 * @qq.com 1195989301 */类上传{ 私人$ allowExt=阵列(& # 39;gif # 39; & # 39; jpg # 39;, & # 39; jpeg # 39;, & # 39; bmp # 39;, & # 39; png # 39;, & # 39; swf # 39;);//限制文件上传的后缀名 私人最大尺寸=1美元;//限制最大文件上传1 m/* * *获取文件的信息 * @param str标记上美元传文件的标识 * @return arr上传文件的信息数组 */公共函数getInfo(美元标志){ 返回带有_file美元(美元标志); }/* * *获取文件的后缀 * @param str $ filename文件名 * @return str文件扩展名 */公共函数getExt ($ filename) { 返回pathinfo(文件名,美元PATHINFO_EXTENSION); }/* * *检测上传文件是否合法 * @param str $ filename文件名 * @return bool文件扩展名是否合法 */私有函数checkExt ($ filename) { ext=这→美元getExt ($ filename); 返回in_array (ext,这→美元allowExt); }/* * *检测文件大小是否超过限制 * @param int大小文件大小 * @return bool文件大小是否超过限制 */公共函数checkSize(大小){ 返回$大小& lt;这→美元最大容量* 1024 * 1024; }/* * *随机的文件名 * @param int len随美元机文件名的长度 * @return str随机字符串 */公共函数randName (len=6美元){ 返回字符串的子串(作用(& # 39;abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789& # 39;), 0, len美元); }/* * *创建文件上传到的路径 * @return str文件上传的路径 */公共函数createDir () {//上传文件路径 dir=& # 39;美元。/上传/& # 39;.date (& # 39; Y/m/d # 39;,时间());//判断文件夹是否存在,不存在则新建 如果(is_dir (dir美元)| | mkdir (dir 0777美元,真)){ 返回dir美元; } }/* * *文件上传 美元* @param str标记文件上传标识 * @return数组返回上传文件名,保存路径 */公共函数还是(美元标志){ 如果(带有_file美元[美元标志][& # 39;名字# 39;]===& # 39;& # 39;| | $带有_file[美元标志][& # 39;错误# 39;]!==0){ 回应“没有上传文件“; 返回; } 信息=这→美元getInfo(美元标志); 如果(! $ this→checkExt ($ info(& # 39;名字# 39;])){ 回应“不支持的文件类型“; 返回; } 如果(! $ this→checkSize ($ info(& # 39;大小# 39;])){ 回声“文件大小超过限制“; 返回; } 文件名=这→美元randName() # 39;公司强生# 39;。$ this→getExt ($ info(& # 39;名字# 39;]); dir=这→美元createDir (); 如果(!函数($ info [& # 39; tmp_name& # 39;], dir强生# 39;美元/& # 39;$ filename)) { 回声“文件上传失败“; 其他}{ 返回数组(& # 39;文件名# 39;=祝辞文件名,美元& # 39;dir # 39;=祝辞dir美元); } } } ,# 63;在