Внутренняя ошибка сервера при загрузке видеофайла в php codeigniter

#jquery #ajax #codeigniter #video #file-upload

#jquery #ajax #codeigniter #Видео #загрузка файла

Вопрос:

Та же функция работает на локальном, но не на сервере.

Это мой код контроллера:

 public function upload_video() {
    $user_id = $this->session->userdata('userid');
    $config['upload_path'] = './uploads/video/' . $user_id . '/';
    $config['allowed_types'] = 'mp4|flv|wmv';
    $config['encrypt_name'] = true;
    $config['max_size'] = '60240000';

    if (!file_exists($config['upload_path'])) {
        mkdir($config['upload_path']);
    }

    $this->upload->initialize($config);
    if (!$this->upload->do_upload()):

        $error = array('error' => $this->upload->display_errors());
        print_r($error);
    else:

        $data = $this->upload->data();
        $filename = $data['file_name'];
       echo trim($data['file_name'] = $filename);

    endif;

}
  

Комментарии:

1. вы установили правильное разрешение на своем сервере для папки загрузки?

2. функция отлично работает на сервере с размером видеофайла менее 10 МБ, ошибка возникает только при попытке загрузить файл размером более 10 МБ.

Ответ №1:

Ваш if (!$this->upload->do_upload()): должен быть if (!$this->upload->do_upload('user_file')):

Где user_file name значение атрибута вашего поля ввода файла. В этом случае ваш файл просмотра должен содержать следующие входные данные

 <input type="file" name="user_file"/>
  

Комментарии:

1. это может быть проблема с созданием направления $test = mkdir($config['upload_path']);var_dump($test) , проверьте, возвращает ли оно TRUE

Ответ №2:

настройте свой сервер на прием файлов большого размера

Установите upload_max_filesize amp; post_max_size на большее число