2016-10-21 13 views
-2

私は、同じ名前の入力フィールドを持っています。 pdf [] データベースに完全に挿入してアップロードしています。しかしアップロードフォルダにアップロードしていないuserfileとして名前を提出しdo_upload();PDFファイルがアップロードされない

$items=$_FILES['pdf']['name']; 
    $count = count($items); 
    $lstid=$this->FetchData->getLastInserted(); 
    for($i=0; $i<=$count-1; $i++){ 
     //echo $img[$i]; 
     $img = $_FILES['pdf']['name'][$i]; 
     $timezone = new DateTimeZone('Asia/Calcutta'); 
     $datetime = new DateTime("now", $timezone); 
     $date = $datetime->format("D_M_d_Y_H_i_s"); 
     $ext = pathinfo($img, PATHINFO_EXTENSION); 
     $new_name=$i.'_'.$state_id.'_'.$date; 
     if(!empty($img)){ 
     $imagenamefordatabase = $new_name.'.'.$ext; 
     } 
     else{ 
     $imagenamefordatabase =''; 
     } 
     $config['upload_path'] = 'uploads/'; 
     // set the filter image types 
     $config['allowed_types'] = 'pdf'; 
     $config['file_name'] = $new_name; 
     //load the upload library 
     $this->load->library('upload', $config); 
     $this->upload->initialize($config); 
     $this->upload->set_allowed_types('*'); 
     $data['upload_data'] = ''; 
     //if not successful, set the error message 
     if (!$this->upload->do_upload('pdf[]')) { 
     $data = array('Success' => $this->upload->display_errors()); 
     } 
     else { 
     //else, set the success message 
     $data = array('Success' => "Upload success!"); 
     $data['upload_data'] = $this->upload->data(); 
     } 
     $sampleresult = array(
     'Report_Print_Data_Id' => $lstid, 

     'Sample_Report' => $imagenamefordatabase 
    ); 

     $this->AddData->addReportResult($sampleresult); 
    } 
+0

'$ this-> upload-> do_upload'メソッド定義も共有してください。 –

+0

@jeroenこれは私の正しいコードでした。私は入力の名前と複数のファイルをアップロードする必要があります同じです。 __pdf [] __別の名前のファイルを保存しているため、拡張機能を利用しています。私はコードのアップロードライブラリを使用している後Igniter。名前をMySQLデータベースに保存します。 – devendra

+0

@NareshKumarNakka $ this-> upload-> do_upload()はコード署名者のデフォルトライブラリです。 – devendra

答えて

0

チェンジザ・に問題があります。

コントローラの設定ファイルサイズと試してください。

エラーがあれば表示してください。

+0

お返事ありがとうございます。私は答えを解決した。上記の変数をforループとして宣言します。 __files = $ _ FILE; __およびforループ内__ $ _FILES ['pdf]] [' name '] = $ files [' pdf]] ['name'] [$ i]; __およびdo_upload( 'pdf'); – devendra

0

大括弧なしのフィールド名のみを渡す必要があります[]。コードの次の部分を更新します。

if (!$this->upload->do_upload('pdf')) { 
    $data = array('Success' => $this->upload->display_errors()); 
} 
else 
{ 
    //else, set the success message 
    $data = array('Success' => "Upload success!"); 
    $data['upload_data'] = $this->upload->data(); 
} 
+0

ありがとうございます。私はこの問題を解決しました。私は答えに返信します – devendra

関連する問題