欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

layui+php上传文件 的思路讲解

程序员文章站 2022-07-13 11:03:55
...

代码编辑软件看个人习惯,首先我们先写前端部分代码

1.laiyui官网:https://www.layui.com/  下载代码包

layui+php上传文件 的思路讲解

2.把下载好的代码包放入新建好的的项目中

layui+php上传文件 的思路讲解

3.引用layui的css跟js文件

<!-- 引入layui样式 -->
<link rel="stylesheet" href="layui/css/layui.css">
<!-- 引入layui js -->
<script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
<!-- 引入jquery -->

4.查看layui上传文件的官方文档:https://www.layui.com/doc/modules/upload.html

layui+php上传文件 的思路讲解

5.直接把文档中的代码复制粘贴到body中

layui+php上传文件 的思路讲解

6.点击按钮便可以选择文件

接下来我们写上传文件的PHP

1.首先安装一个phpStudy,

layui+php上传文件 的思路讲解

2.找到安装目录中的PHPTutorial目录下的WWW目录

layui+php上传文件 的思路讲解

3.新建一个up.php然后用编辑软件打开

layui+php上传文件 的思路讲解

      1).首先在PHP文件<?php...?>声明是PHP文件

      2).在文件顶部加入下面代码。具体作用我已经注释到代码后面了

 <?php 
 header("Access-Control-Allow-Origin: *"); //解决跨域
 header('Access-Control-Allow-Methods:post');// 响应类型
 date_default_timezone_set('PRC');//获取当前时间

     3).获取上传文件目录


$month = date('Ym', time());//获取年月
define('BASE_PATH', str_replace('\\', '/', realpath(dirname(__FILE__).'/'))."/");
$dir = BASE_PATH."upload/".$month."/";//判断是否有对应的文件

   4).然年后初始化一个数组作为返回数组

$arr = array(
'code' => 0,//返回状态
'msg'=> '',//提示消息
'data' =>array(//文件链接
     'src' => $dir . $_FILES["file"]["name"]
     ),
);
 

    5).文件处理

$file_info = $_FILES['file'];//前端传过来的文件
 $file_error = $file_info['error'];
if (!is_dir($dir)) {//判断目录是否存在
    mkdir($dir, 0777, true);//如果目录不存在则创建目录
};
$file = $dir.$_FILES["file"]["name"];//上传文件的名字
if (!file_exists($file)) {//判断文件中是否有相同的文件
    if ($file_error == 0) {
        if (move_uploaded_file($_FILES["file"]["tmp_name"], $dir. $_FILES["file"]["name"])) {
            $arr['msg'] ="上传成功";
        } else {
            $arr['msg'] = "上传失败";
        }
    } else {
        switch ($file_error) {
            case 1:
           $arr['msg'] ='上传文件超过了PHP配置文件中upload_max_filesize选项的值';
                break;
            case 2:
              $arr['msg'] ='超过了表单max_file_size限制的大小';
                break;
            case 3:
               $arr['msg'] ='文件部分被上传';
                break;
            case 4:
              $arr['msg'] ='没有选择上传文件';
                break;
            case 6:
                $arr['msg'] ='没有找到临时文件';
                break;
            case 7:
            case 8:
               $arr['msg'] = '系统错误';
                break;
        }
    }
} else {
    $arr['code'] ="1";
    $arr['msg'] = "当前目录中,文件".$file."已存在";
}
 echo json_encode($arr);//将遍历好的数组反给前端

PHP代码大概就这样,然后我们将写好的接口放到前端的url中

layui+php上传文件 的思路讲解

按照我跟你们讲的接口为http://localhost/up.php

大概是路就这样,要没看明白的话这是源代码链接:https://blog.csdn.net/qq_41241504/article/details/103303384

可以自己研究一下。

各位大佬要是有什么好的思路欢迎评论到下面,我会积极采纳的