#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
на большее число