笨多文件上传加密问题(Codeigniter Multiple File Upload Encryp

2019-10-29 14:36发布

我有一个大的形式,允许用户将多个文件/文件类型上传到报价/投标,他们正在创造。 一切工作正常,除了海贼王:保存到数据库之前的文件的名称加密。

我还没有找到它无缘无故,但它击中或错过。 图像正常工作每次。 其他文件(这允许所有[*]类型,但主要将包括各种商业文档,如PDF,DOC,XLS等)是是参差不齐的人。

我发现线程在SO信息以及与名称的加密的一般问题,在其他地方,但还没有遇到一个与我的问题的特殊性交易。

这里的上传功能:

//for multi uploads
        function do_uploads($name, $file)
        {
            $status ="";
            $msg = "";
            $file_element_name = $name;


            //go through and figure out where it goes
            if($name == "QuoteDoc") {
                $folder = "quotedocs";
                $allowed = '*';
            }
            else if($name == "ProductOfferPhoto") {
                $folder = "product_photos";
                $allowed = 'jpeg|jpg|png|gif';
            }
            else if($name == "ResearchWhtPaper1" || $name == "ResearchWhtPaper2") {
                $folder = "research";
                $allowed = "*";
            }
            else if($name == "ProductLiterature1" || $name == "ProductLiterature2") {
                $folder = "literature";
                $allowed = "*";
            }
            else if ($name == "FDALink") {
                $folder = "fda";
                $allowed = "*";
            }


            $config['upload_path'] = './uploads/' . $folder;
            $config['allowed_types'] = $allowed;
            $config['max_size']  = 1024 * 8;
            $config['encrypt_name'] = TRUE;

            $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload($name))
            {
                $status = 'error';
                $msg = $this->upload->display_errors('', '');
            }
            else {
                $data = $this->upload->data();
            }

            @unlink($_FILES[$file_element_name]);

            //what's up?
            //return $this->upload->data();
            return array('status' => $status, 'msg' => $msg, 'data' => $this->upload->data(), 'allowed'=>$allowed);
        }

任何帮助将不胜感激。

Answer 1:

你不是说明你的问题很清楚:

是名字根本就没有被加密,但仍然上传到正确的目录?

你是一个循环,这里也许类的实例没有被重新初始化内部设置这些? 请问第一个文件加密正确,但没有后续的呢?

你可以跟踪哪些类型的文件都不能正常工作?

我已经很难相信它是完全“随机”,并认为这只是没有足够的研究这里正在做


从下面的解决方案:

您需要使用$这 - > upload->初始化($配置)来更改配置,因为库只会加载一次



文章来源: Codeigniter Multiple File Upload Encryption Issue