68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)

打印 上一主题 下一主题

主题 1375|帖子 1375|积分 4125



  1. <?php
  2. // 声明命名空间,遵循 PSR-4 自动加载规范,命名空间为 Home\Controller
  3. namespace Home\Controller;
  4. // 导入 Think\Controller 类,以便扩展该类
  5. use Think\Controller;
  6. // 定义 IndexController 类,继承自 Think\Controller 类
  7. class IndexController extends Controller
  8. {
  9.     // index 方法,可能是默认页面的控制器方法
  10.     public function index()
  11.     {
  12.         // 显示当前文件的源代码,通常用于调试或展示代码
  13.         show_source(__FILE__);
  14.     }
  15.     // upload 方法,用于处理文件上传功能
  16.     public function upload()
  17.     {
  18.         // 获取上传的文件信息,存储在 $uploadFile 变量中
  19.         $uploadFile = $_FILES['file'];
  20.         // 检查上传文件的名称,如果包含.php 后缀(不区分大小写),则返回 false
  21.         if (strstr(strtolower($uploadFile['name']), ".php")) {
  22.             return false;
  23.         }
  24.         // 实例化 ThinkPHP 的 Upload 类,用于文件上传操作
  25.         $upload = new \Think\Upload();
  26.         // 设置允许上传的最大文件大小为 4096 字节
  27.         $upload->maxSize = 4096;
  28.         // 设置允许上传的文件扩展名,仅允许 jpg, gif, png, jpeg 类型的文件
  29.         $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
  30.         // 设置文件上传的根目录为./Public/Uploads/
  31.         $upload->rootPath = './Public/Uploads/';
  32.         // 设置文件上传的子目录,这里为空
  33.         $upload->savePath = '';
  34.         // 调用 upload 方法进行文件上传,并将结果存储在 $info 变量中
  35.         $info = $upload->upload();
  36.         // 如果上传失败,调用 error 方法显示错误信息并返回
  37.         if (!$info) {
  38.             $this->error($upload->getError());
  39.             return;
  40.         } else {
  41.             // 上传成功时,获取上传文件的存储路径和名称,并组合成完整的 URL
  42.             $url = __ROOT__.substr($upload->rootPath, 1).$info['file']['savepath'].$info['file']['savename'];
  43.             // 将上传成功的信息和文件 URL 以 JSON 格式输出
  44.             echo json_encode(array("url" => $url, "success" => 1));
  45.         }
  46.     }
  47. }
复制代码
未完待续

 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表