2017-01-18 2 views
0

Код состояния: 500 Внутренняя ошибка сервера500 ошибка внутреннего сервера в кодеригенере на реальном сервере

Здесь загружается функция файла. которые работают нормально на localhost, но я не уверен, почему эта ошибка возникает из-за того, что права на файлы в порядке, а загрузка библиотеки загружена в порядке и даже не обнаруживает ошибок в файле журнала.

$image_file = $this->input->post('fileToUpload'); 
$update_date = date('Y-m-d'); 

if($_FILES['user_image']['name'] != '') { 
    $filename = 'user_image';  
} 

$config = array(
    'upload_path' => './uploads', 
    'allowed_types' => 'gif|jpg|png|jpeg', 
    'max_size'  => '2048', 
); 

$upload_data = $this->do_upload($filename, $config); 

$this->db->where('pkuserid',$id); 
$update_array = array(
    'firstname' => $first_name, 
    'lastname' => $last_name, 
    'headlines' => $headlines, 
    'summary'  => $summary2, 
    'updated_date'=> $update_date 
); 

if($upload_data['condition']=='error') { 
    echo json_encode(array('condition'=>'error', 'message'=>$upload_data['error'].' (User image)')); exit; 
} else { 
    $update_array['userpicture'] = $upload_data['upload_data']['file_name']; 
} 

$this->db->update('tblusers', $update_array); 
return $update_array; 
} 

public function do_upload($fieldname, $config) { 
    $this->load->library('upload'); 
    $this->upload->initialize($config); 

    if (! $this->upload->do_upload($fieldname)) { 
     $error = array('condition'=>'error', 'error' => $this->upload->display_errors()); 
     return $error; 
    } else { 
     $data = array('condition'=>'success', 'upload_data' => $this->upload->data()); 
     return $data; 
    } 
} 

Загрузить снимок папки: enter image description here

Любая помощь будет присвоено. Спасибо

+0

Вы следовали за порядком именования классов и файлов для codeigniter, как показано здесь. Https://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

вы должны посмотреть в журнал ошибок, чтобы получить сообщение об ошибке. это поможет много –

+0

@CROZET: Спасибо за ваш ответ. но в журнале ошибок ничего не будет показано при успешном загрузке загружаемой библиотеки. –

ответ

0

Вам понадобится каталог назначения для ваших загруженных изображений. Создание каталога в корневой папке установки CodeIgniter называется загрузки и установить его права доступа к файлам 777.

$image_file = $this->input->post('fileToUpload'); 
if($image_file){ 

    //load upload library 
     $this->load->library('upload'); 

     // Specify configuration for File 1 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
     $config['max_size'] = '2048'; 
     $this->upload->initialize($config); 

     if ($this->upload->do_upload($fieldname)){ 
      $image_data = $this->upload->data(); 
      $update_array['userpicture'] = $upload_data['upload_data']['file_name']; 
     } 
} 

Я надеюсь, что это будет работать для вас.

+0

Я уже сделал это, попробую 0755, 0775 и 0777, но получил тот же ответ ... –

+0

ваш url похожий на этот: example.com/index.php/upload/? –

+0

файл журнала показывает мне эту ошибку, когда я изменил путь: путь загрузки не отображается. –

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