Ошибка загрузки CodeIgniter - недопустимый тип файла

Я все время получаю ошибку The filetype you are attempting to upload is not allowed, когда пытаюсь загрузить файл фильма в формате MP4.

Это моя функция загрузки

public function upload_post() {
        $config['upload_path'] = ROOT_DIR . $dataBasePath;
        $config['allowed_types'] = 'avi|mov|mp4|jpeg|jpg|png';
        $config['remove_spaces'] = true;
        $config['max_size'] = '80000';
        $config['encrypt_name'] = true;
        $this->upload->initialize($config);
        if ($this->upload->do_upload('userFile')) {
            $uploadData = $this->upload->data();
            if ($uploadData) {
                $this->response([
                   'data' => $uploadData
                ], REST_Controller::HTTP_OK);
            } else {
                $this->response([
                    'status' => false,
                    'message' => 'failed'
                ], REST_Controller::HTTP_CONFLICT);
            }
        } else {
            var_dump($_FILES);
            die();
            $this->response([
                'status' => false,
                'errors' => ['error' => $this->upload->display_errors()]
            ], REST_Controller::HTTP_CONFLICT);
        }
}

Когда я загружаю файл и данные var_dump($_FILES), если загрузка не удалась, это результат

array (size=1)
  'userFile' => 
    array (size=5)
      'name' => string '1-video.mp4' (length=11)
      'type' => string '' (length=0)
      'tmp_name' => string '' (length=0)
      'error' => int 1
      'size' => int 0

Результат var_dump(get_mime_by_extension($_FILES['userFile']['name'])) следующий

'video/mp4'

Я также проверил свой файл mimes.php, и у меня есть весь

'mp4'   =>  array('video/mp4', 'application/octet-stream'),

Я не знаю, что еще мне нужно сделать или проверить, чтобы успешно загрузить файл? Загрузка изображений работает нормально. Если вам нужна дополнительная информация, сообщите мне, и я предоставлю ее. Спасибо

stackoverflow.com/questions/19729381/…
Pradeep 19.05.2018 14:54

вы можете попробовать с помощью $ config ['allowed_types'] = "*";

Pradeep 19.05.2018 15:06

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

Valor_ 19.05.2018 15:12

для этого используйте FCPATH вместо ROOT_DIR

Pradeep 19.05.2018 15:17

насколько велик файл и каковы ваши post_max_size и upload_max_filesize? покажите свой код для определения ROOT_DIR

Alex 19.05.2018 20:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
278
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

добавлены оба в массиве в список типов mime в моей папке конфигурации:

'mp4' => array('video/mp4', 'application/octet-stream'),

он будет проверять тип файла mime

Sachin Aghera 19.05.2018 15:14

проверить, совпадают ли тип файла и тип mime файла?

Sachin Aghera 19.05.2018 15:14

да, они такие же ... Я начинаю предполагать, что есть проблема с файлом, хотя этот файл обычно воспроизводится и т. д.

Valor_ 19.05.2018 15:15

ну вы пробовали другой файл mp4, чтобы исключить это? @Valor_

Alex 19.05.2018 20:37

Измените mp4 на MP4

$config['allowed_types'] = 'MP4'

не помогло ... Я начинаю предполагать, что есть проблема с файлом, хотя этот файл обычно воспроизводится и т. д.

Valor_ 19.05.2018 15:15
Ответ принят как подходящий

This is working in my code Perfectly and uploaded file move to my folder.

контролер

public function addd(){

   $images = "property.".pathinfo($_FILES['images']['name'], 
       PATHINFO_EXTENSION);

   $addimg = array(
            "images" =>  $images,
        );

    $this->db->insert("tbl_name",$addimg);

    $uploadPath = "./html/images/property";

    $config['upload_path'] = $uploadPath;
    $config['allowed_types'] = 'gif|jpg|png|pdf|mp4';
    $config['overwrite'] = TRUE;
    $config['encrypt_name'] = FALSE;
    $config['remove_spaces'] = TRUE;

    $config['file_name'] = "property";
    $this->load->library('upload', $config);
    $this->upload->do_upload('images');
    $this->upload->display_errors();
}

Другие вопросы по теме