0

ユーザーが作成中のオファー/入札に複数のファイル/ファイルタイプをアップロードできる大きなフォームがあります。データベースに保存する前のファイルの名前の暗号化という 1 つの部分を除いて、すべてが正常に機能しています。

私は韻や理由を見つけていませんが、それはヒットまたはミスです. 画像は毎回うまくいきます。他のドキュメント (すべての [*] タイプを許可しますが、主に 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);
        }

どんな助けでも大歓迎です。

4

1 に答える 1