2011-02-04 6 views
0

こんにちは、私はここに初めてです。私は本当に自分のコードが間違っているのか分かりません。 IAMは、(オブジェクトが見つかりません)..私は、アップロードボタンをクリックすると、エラーが発生するであろう、まだデータベースにファイルをアップロードしようとしているデータベースにファイルをアップロード

function do_upload() 
{ 

    $config['upload_path'] = './uploads/';  
    $config['allowed_types'] = 'gif|jpg|png|doc|txt|pdf'; 
    $config['max_size'] = '5000'; 
    $config['max_width'] = '2500'; 
    $config['max_height'] = '2500'; 
    $config['remove_spaces']= 'true'; 

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

    $data= array('userfile' => $this->upload->do_upload()); 

    //DEFINE POSTED FILE INTO VARIABLE 
    $name= $data['userfile']['name']; 
    $tmpname= $data['userfile']['tmpname']; 
    $type= $data['userfile']['type']; 
    $size= $data['userfile']['size']; 

    //OPEN FILE AND EXTRACT DATA /CONTENT FROM IT 
    $fp  = fopen($tmpname, 'r'); 
    $content= fread($fp, $size($tmpname)); 
    $content= addslashes($content); 
    fclose($fp); 


    if (! $this->upload->do_upload()) 
    { 
     $error = array('error' => $this->upload->display_errors()); 

     $this->load->view('upload', $error); 
    } 
    else 
    { 
     $data = array('userfile' => $this->upload->data()); 
     $this->load->database(); 
     $ret=$this->db->insert($name, $type, $size, $content); 
     unlink($tmpname); 
     //$this->load->database(); 
     //$this->load->view('upload', $data); 
    } 
} 
+2

正確なエラーは何ですか? – Ross

+1

関連するhttp://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay – jondavidjohn

+0

$ this-> load-> database()はコンストラクタ内にある必要がありますが、問題は解決しませんしかし... – rabidmachine9

答えて

0
HERESに私のコードスニペット、誰かがところで...

を私を助けることを願って

この方法では$this->db->insert()メソッドは機能しません。これには2つの引数があります。最初はデータを挿入するテーブルで、2番目はデータを格納する配列です。あなたのケースでは

は、あなたが最初の配列にあなたのファイルのデータを置く必要があります。

$file_data=array('name'=>$name,'type'=>$type,'size'=>$size,'content'=>$content) 

し、適切なテーブルにそれを挿入します。私は一例としてfilesを使用しました。実際に必要なものを使用してください。

$ret=$this->db->insert('files',$file_data); 

一般的としてファイルを保存するには良いアイデアです(...ファイルの書き込みは禁止、など)いくつかのまれなケースを除いてそのかかわらず、注意してくださいが...ファイル

+0

こんにちは! 'content'属性は実際のファイルを含んでいますか?私は 'var_dump($ _ FILES)'や '$ this-> upload-> data()'でこれを見ることはできません。 –