2012-01-22 11 views
0

私はちょうどアップロードされた画像IDを取得し、私のコントローラからそれらの配列にアクセスする方法を知っていますか?アップロードのidsを取得し、コントローラ、codeigniterに

マイモデル:http://pastebin.com/aJW0vq22(do_upload())

そして、ここでは私のコントローラの関連部分です: クラスのサイトはCI_Controllerを拡張{

function index() { 
    //enable profiler 
    //$this->output->enable_profiler(TRUE); 

    $data = array(); 
    $this->load->model('Site_model'); 

    if($this->input->post('upload')) { 

     $data['upload'] = $this->Site_model->do_upload(); 
     //echo '<hr />' . $this->Site_model->total_uploads; 
     //set the users edit session for their image 
     $uploaded_image_id = $this->Site_model->get_last(); 

     $values = array(
     'image_id' => $uploaded_image_id, 
     'session_id' => $this->session->set_userdata('session_id') 
     ); 
     $this->session->set_userdata('edit', $values); 
     //var_dump($values); 

     //show uploaded image 
     redirect($uploaded_image_id . '?links'); 

    } 

現在、私は単に「get_lastを使用してきました()単にデータベースに追加された最後のものを取得するだけですが、今では複数のものを一度にアップロードする機能を追加しました。

編集:

基本的に私が取得しようとしている最終的な結果は、あなたがセッション配列にちょうどアップロードされた画像のファイル名を保存し、その後については、データベースを照会することができ

 redirect('id1, id2, id3' . '?links'); 

答えて

0

ですこれらのファイル名のID。これは確実にIDを返します。

私はget_lastのために、テーブルに最後に追加されたイメージを返すクエリを使用しています。しかし、同時に500人のユーザーが画像をアップロードしているとしたらどうでしょう?

+0

ここで私は何をしたのですか?do_upload()内のアップロードで何が起きるかわかりません。http://pastebin.com/rXDCmfyn – baconIsGoodForMe

+0

解決策は依然として薄れています。このように考えると、データベースからの特定のイメージIDが必要な場合、関数get_last()に最新のアップロードを返すように依頼し、最新のアップロードが予期しているものだとは思っていますが、代わりに、get_lastを次のようなものに変換してみてください。get_last(array( 'image_name_in_db_1.png'、 'image_name_in_db_2.png')){... SELECT id FROM images WHERE image_name = 'image_name_in_db_1.png' – alxbrd

関連する問題