Я все время получаю ошибку 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'),
Я не знаю, что еще мне нужно сделать или проверить, чтобы успешно загрузить файл? Загрузка изображений работает нормально. Если вам нужна дополнительная информация, сообщите мне, и я предоставлю ее. Спасибо
вы можете попробовать с помощью $ config ['allowed_types'] = "*";
если я это сделаю, то получу еще одну ошибку: возникла проблема при попытке переместить загруженный файл в конечный пункт назначения.
для этого используйте FCPATH вместо ROOT_DIR
насколько велик файл и каковы ваши post_max_size и upload_max_filesize? покажите свой код для определения ROOT_DIR






добавлены оба в массиве в список типов mime в моей папке конфигурации:
'mp4' => array('video/mp4', 'application/octet-stream'),
он будет проверять тип файла mime
проверить, совпадают ли тип файла и тип mime файла?
да, они такие же ... Я начинаю предполагать, что есть проблема с файлом, хотя этот файл обычно воспроизводится и т. д.
ну вы пробовали другой файл mp4, чтобы исключить это? @Valor_
Измените mp4 на MP4
$config['allowed_types'] = 'MP4'
не помогло ... Я начинаю предполагать, что есть проблема с файлом, хотя этот файл обычно воспроизводится и т. д.
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();
}