2016-10-21 2 views
-2

У меня есть поле ввода, которое имеет одинаковое имя. pdf [] Я вставляю и загружаю его в базу данных, он прекрасно вставляется в базу данных. но не загружая в загрузки папок есть проблема с 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() - это библиотека по умолчанию codeigniter. – devendra

ответ

0

изменить название подано Как UserFile.

Конфигурационный размер файла в контроллере и попробуйте.

если есть ошибки, пожалуйста, покажите.

+0

Благодарим вас за ответ. Я решил ответ. Объявление переменной выше для цикла. __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

Смежные вопросы