博客列表 >12月09日文件操作上传案例-九期线上班

12月09日文件操作上传案例-九期线上班

WJF
WJF原创
2019年12月13日 18:52:49524浏览

/index.html 前端页面

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>上传文件</title>
  6. <link rel="stylesheet" href="https://www.layuicdn.com/layui/css/layui.css">
  7. </head>
  8. <body>
  9. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  10. <legend>文件上传</legend>
  11. </fieldset>
  12. <!--文件上传的提交类型必须为post-->
  13. <form class="layui-form" action="upload.php" method="post" enctype="multipart/form-data">
  14. <div class="layui-form-item">
  15. <label class="layui-form-label">选择文件</label>
  16. <div class="layui-input-block">
  17. <!-- name:会成为php中的$_FILES['my_file']-->
  18. <input type="file" name="my_file" class="layui-input">
  19. </div>
  20. </div>
  21. <div class="layui-form-item">
  22. <div class="layui-input-block">
  23. <button class="layui-btn">上传</button>
  24. </div>
  25. </div>
  26. </form>
  27. </body>
  28. </html>

\upload.php

  1. <?php
  2. //设置可上传的文件格式
  3. $fileType = ['txt','zip','png','gif'];
  4. //设置上传文件大小字节//大小设置10mb
  5. $fileSize = 10485760;
  6. //设置上传到的目录
  7. $filePath = '/upload/';
  8. //原文件名
  9. $fileName = $_FILES['my_file']['name'];
  10. //临时文件名
  11. $tempFile = $_FILES['my_file']['tmp_name'];
  12. //判断是否上传成功 和 上传错误信息
  13. $uploadError = $_FILES['my_file']['error'];
  14. if ($uploadError > 0 ){
  15. switch ($uploadError){
  16. case 1: die('上传文件大小超出PHP配置文件约定值 错误代码:' . $uploadError);
  17. case 2: die('上传文件大小超出HTML约定值 错误代码:' . $uploadError);
  18. case 3: die('上传文件不完整,部分被上传成功 错误代码:' . $uploadError);
  19. case 4: die('没有上传任何文件 错误代码:' . $uploadError);
  20. default: die('未知错误 错误代码:' . $uploadError );
  21. }
  22. }
  23. //判断上传文件扩展名是否支持
  24. //设置取最后一个数值
  25. $extensions = explode('.',$fileName);
  26. $extension = end($extensions);
  27. if (!in_array($extension,$fileType)){
  28. die('不允许上传' .$extension .'文件格式');
  29. }
  30. //$extension = explode('.', $fileName)[1];
  31. //if (!in_array($extension, $fileType)) {
  32. // die('不允许上传 ' . $extension . '文件类型');
  33. //}
  34. //上传临时文件名 防止重复
  35. $fileName = date('YmdHis',time()).md5(mt_rand(1,999)) . '.' . $extension;
  36. //开始上传
  37. if (is_uploaded_file($tempFile)){
  38. if (move_uploaded_file($tempFile, __DIR__ . $filePath . $fileName)){
  39. echo '上传成功 文件链接为: ' . $_SERVER['HTTP_HOST'] . '/1209' . $filePath . $fileName;
  40. }else{
  41. die('上传失败');
  42. }
  43. }else{
  44. die('非法操作');
  45. }
  46. //结束操作
  47. exit;

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议