0

コントローラ

  <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Upload extends CI_Controller {

            function __construct(){
                parent::__construct();
                $this->load->helper(array('form', 'url'));
            }

            function index()
            {
                $this->load->view('uploaderview', array('error' => ' ' ));
            }

            function do_upload(){
                $config['upload_path'] = './upl0d/';
                $config['allowed_types'] = 'gif|jpg|png';
                $config['max_size'] = '2048'; //2mb
                $config['max_width']  = '1024';
                $config['max_height']  = '768';
                $config['encrypt_name'] = FALSE;
                $config['overwrite'] = FALSE;

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

                if ( ! $this->upload->do_upload()){
                    $error = array('error' => $this->upload->display_errors());
                    $this->load->view('uploaderview', $error);
                }
                else{
                    ## Insert into filesystem.
                    $data = array('upload_data' => $this->upload->data());
                    ## load the success page.
                    $this->load->view('uploadsuccess', $data);
                    ## Insert into db
                    ## then insert the img name into the database
                    $this->load->model('uploadermodel');
                    $this->uploadermodel->uploadcoupon();               
                }
            }
    }
    ?>

モデル

   <?php

    class Uploadermodel extends CI_Model{

        function __construct(){
            // Call the Model constructor
            parent::__construct();
        }

        function uploadcoupon($data){
            $uploadFileName = $this->upload->data();
            $currentDt = date('Y-m-d H:i:s');
            $data = array('fileNameUploaded'=>$uploadFileName,'date'=>$currentDt);
            $this->db->insert('Coupon', $data); 
        }

    }   
    ?>

$config['file_name']の値を収集して、モデルと一緒に送信しようとしています。どうすればいいですか?現在、アップロードしようとしています:VALUES (Array, '2013-02-03 20:20:01')

4

3 に答える 3

1

これで、キー 'upload_data' を持つ配列 $data ができました (実際にはこの方法で行う必要はありません。ドキュメントを修正してもらいたいのですが、そのままにしておいてください)。

したがって、var_dump($data['upload_data']) を実行すると、アップロードしたファイルに関するすべての情報が表示されます。

メモリから移動すると、$data['upload_data']['file_name']... のようなものがあります。

したがって、その値と完全な挿入データをモデルに渡すだけです。

$this->uploadermodel->uploadcoupon(); 

$data を渡す必要があります...

$this->uploadermodel->uploadcoupon($data);

あなたがやっているように $this->upload から取得しようとしないでください

于 2013-02-03T23:06:13.183 に答える
0

このためにあなたはこれが必要です

$image_data = $this->upload->data();
$data['image_name'] = $image_data['file_name'];

//Now you can insert file name
$this->uploadermodel->uploadcoupon($data);
于 2013-02-04T02:51:32.277 に答える
0

ドキュメントから:

$this->upload->data()は、アップロードしたファイルに関連するすべてのデータを含む配列を返すヘルパー関数です。これが配列のプロトタイプです。

したがって、データベースに格納する配列インデックスを指定する必要があります。詳細については、次を参照してください。

http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

于 2013-02-04T07:24:52.337 に答える