2011-12-14 3 views
0

私はcodeigniterアプリを持っていて、ページに行くたびにアップロードするファイルを選択していないと表示されます。私はファイルハンドルのアップロードとしてページ表示に同じcodeigniter関数を使用しています。ページに初めてアップロードするファイルを選択していませんでした

if(!$this->upload->do_upload('userFile')) { // if there are errors uploading the file of if it's the first time on the page… 

    $content_data['album'] = $album; 

    echo "post go through?"; 

    // if the $_POST array is not empty display the error. That means that someone submitted the form without choosing a file 
    //if(isset($_POST['submit'])) { 
     $content_data['error'] = array('error' => $this->upload->display_errors()); 
    //} 

    $content_data['data'] = array('upload_data'=>$this->upload->data()); 
    $data['sess'] = $this->session; 
    $data['content'] = $this->load->view('member/addPhoto', $content_data, true); 
    $this->load->view('template/admin', $data); 
} else { // else there were no errors and we can resize and upload. 

} 
+1

明白な質問は、ファイルアップロードを処理するのと同じ機能をページ表示に使用している理由です。私たちが気付いていない制約がありますか?別々の機能で処理する必要があるように聞こえますが、これは問題を解決する最も明白な方法です。 –

+0

フォームの検証で同じ関数を使用するのがベストプラクティスなので、ファイルのアップロードは類似しているとわかりました....しかし今、あなたは私の考えを得ました。 – Catfish

答えて

1

は、あなたがそれかどうかを確認することができます:私は$ _SERVER [「REQUEST_METHOD」]ここで

を確認することができないので、フォームを送信するために、AJAXを使用してい

は私の機能の抜粋です上記の操作を行う前に提出するかしないかを指定します。

if ($this->input->post('userFile')) 
{ 
// Your code 
} 
+0

AjayとRyanの答えが組み合わさって、私は彼女を終わらせました。 – Catfish

関連する問題