admin 发表于 2018-2-17 11:47:07

finecms前台任意文件上传

前台头像上传的地方任意文件上传public function upload() {
    // 创建图片存储文件夹
    $dir = SYS_UPLOAD_PATH.'/member/'.$this->uid.'/';
    @dr_dir_delete($dir);
    !is_dir($dir) && dr_mkdirs($dir);
    if ($_POST['tx']) {
      $file = str_replace(' ', '+', $_POST['tx']);
      if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)){
            $new_file = $dir.'0x0.'.$result[2];
            if (!@file_put_contents($new_file, base64_decode(str_replace($result[1], '', $file)))) {
                exit(dr_json(0, '目录权限不足或磁盘已满'));

接收txt的参数.然后匹配了正则.最后取出内容和文件后缀部分。再直接存盘.文件名都是统一的0x0



priess 发表于 2018-2-17 12:56:34

{:9016:}

priess 发表于 2018-2-17 13:12:49

{:9001:}

priess 发表于 2018-2-17 13:13:25

{:9032:}

admin 发表于 2018-2-17 13:15:29

{:9007:}

admin 发表于 2018-2-17 13:49:06

hello i am priess

admin 发表于 2018-2-17 13:50:02

hello i am

admin 发表于 2018-2-17 13:55:45

burf测试

admin 发表于 2018-2-17 14:02:31

priess zhang phpostop
页: [1]
查看完整版本: finecms前台任意文件上传