Загрузка файла CI дает ошибку типа файла для файлов rpt - PullRequest
2 голосов
/ 04 июня 2019

Я пытаюсь загрузить файл Crystal Reports (.rpt), используя следующий код:

$config=array(
 'upload_path'=>$_SERVER['DOCUMENT_ROOT']."/assets/uploads/rpt/",
 'allowed_types'=>"rpt",
 'overwrite'  => TRUE,
 'file_name' =>$filename
);
$this->load->library('upload', $config);
$this->upload->initialize($config);
if($this->upload->do_upload('rpt1'))
{
 echo "Done";
}
else
 echo $this->upload->display_errors();

Но он возвращает:

Тип файла, который вы пытаетесь загрузитьне допускается.

Затем я попытался выяснить тип загруженного файла:

print_r($_FILES['rpt1']['type']);

И он возвращает:

application / octet-stream

Я сделал следующее обновление:

'allowed_types'=>"rpt|application/octet-stream",

Но это не сработало, и я все еще получаю то же сообщение об ошибке.

Я также добавил следующую строку в application / config / mimes.php

'rpt'   =>  'application/octet-stream',

Что еще мне нужно сделать, чтобы загрузить файл .rpt всервер?

1 Ответ

0 голосов
/ 05 июня 2019

Я пошел на

Система / Библиотеки / upload.php

в строке № 454 (CI 3.x) и написал следующую строку кода:

var_dump($this->file_type); die();

При исполнении вернул

текст / обычный

при использовании

print_r($_FILES['rpt1']['type']);

дал

* * Приложение тысяча двадцать-один / октет-поток * * 1 022

Сейчас в

приложение / Config / mimes.php

Я написал: 'rpt' => 'text/plain', и на этот раз все работало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...