栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

php原生上传件到服务器代码示例Demo(适用Laravel)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php原生上传件到服务器代码示例Demo(适用Laravel)

php原生上传件到服务器代码示例Demo(适用Laravel)
  • 适用情景
  • 代码示例
  • 总结


适用情景

提示:此Demo也适用Laravel;

例如:例如:网页、接口想PHP发送文件,PHP接收文件存到到服务器自定义目录中;


代码示例

    
     public function uploadFileOne($file,$file_dir){
        try{
            $file_dir = trim(trim($file_dir,'.'),'/') .'/';//为了同意路径格式,防止因开头/不止一次导致的目录不正确问题

            //检测目录(文件夹)是否还没创建
            if (!is_dir($file_dir)){
                $mkdir_file_dir = mkdir($file_dir, 0777,true);   //在指定目录下建立一个文件夹,并设定文件夹的权限
            }

            //设置默认返回信息
            $res = [
                'code'=>500,
                'msg'=>''
            ];

            //判断需要上传的文件是否存在
            if(!$file['name']){
                $res['msg'] = '请选择需要上传文件';
                return $res;
            }

            //判断上传是否出在错误码
            if ($file['error'] > 0){
                switch ($file['error']){
                    case 1:
                        $res['msg'] = "文件大小超过PHP.ini中的文件限制!";
                        break;
                    case 2:
                        $res['msg'] = "文件大小超过了浏览器限制!";
                        break;
                    case 3:
                        $res['msg'] = "文件部分被上传!";
                        break;
                    case 4:
                        $res['msg'] = "没有找到要上传的文件!";
                        break;
                    case 5:
                        $res['msg'] = "服务器临时文件夹丢失,请重新上传!";
                        break;
                    case 6:
                        $res['msg'] = "文件写入到临时文件夹出错!";
                        break;
                }
                return $res;
            }

            $file['name'] = date('YmdHis', time()) . $file['name'];   //为文件重新命名,避免重复
            if (!file_exists($file_dir . $file['name'])) {
                $name_arr = explode('.',$file['name']);//将原文件名打散扯那个数组,利用end()获取数组后一个元素得到文件的后缀
                $path = $file_dir . time() . rand(100,999) .'.'. end($name_arr);//拼接好最终上传文件后的目录(并修改文件名)

                //将要上传的文件移动到指定的服务器目录中
                if(move_uploaded_file($file['tmp_name'], $path)){
                    $res['code'] = 200;
                    $res['msg'] = 'success';
                    $res['url'] = $path;
                    return $res;
                }else{
                    $res['msg'] = '文件不存在';
                    return $res;
                }

            }else{
                $res['msg'] = '您上传的文件已经存在';
                return $res;
            }
        }catch (Exception $exception){
            dd($exception->getMessage());
        }
    }

	
    public function deleteFileOne($path){
        if(file_exists($path)){//判断文件是否存在
            chmod($path,0777);//给目标文件权限
            if (unlink($path)) {//执行删除
                $res['code'] = 200;
                $res['msg'] = 'success';
                $res['url'] = $path;
                return $res;
            } else {
                $res['msg'] = '删除失败';
                return $res;
            }
        }else{
            $res['msg'] = '文件不存在';
            return $res;
        }
    }
}

效果图1:

效果图2:


总结

上传文件核心就是使用**$_FILES超全局变量获取文件并用move_uploaded_file()函数**将上传的文件移动到服务器指定的目录中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835784.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号