#php #codeigniter #model-view-controller
Вопрос:
Я использую Codeigniter и хочу получить функциональность загрузки для своего проекта, я могу запустить функцию загрузки на своем локальном хосте, но пока я пытаюсь развернуть/интегрировать тот же код на сервере, он показывает undefined function force_download();
Код отлично работает на локальном хосте, и все аналогичные конфигурации также были выполнены на сервере.
Мой контроллер загрузки работает следующим образом:
public function download(){
$state_name=$this->input->post('state');
$year=$this->input->post('year');
$final_name = str_replace(' ', '_', $state_name); //set name by name convention
$filename=$final_name.'_'.$year.'.zip'; // set file name with extension
$this->load->helper('download'); // Load download helper
$file="my_path".$filename; //set file path
if($state_name!= ' 'amp;amp; $year!=' '){
if (!empty($file)){ //check if the file exists
force_download($file,NULL);
}
else{
echo "File not found";
}
}
else{
echo "data not recieved in controller";
}
Что может быть не так с этим кодом, даже если я включил вспомогательную загрузку в функцию autoload.php
и controller __construct()
?
Заранее благодарен за любой вклад.
Ответ №1:
Вход force_download()
, определенный во вспомогательном: download
Итак, чтобы использовать помощника download
, вам нужно включить его в конструктор классов.
$this->load->helper('download');
Почему это работает на локальном хосте, а не на сервере:
Localhost мог включить помощника download
в autoload.php
или controller __construct() function
.
Комментарии:
1. Я забыл упомянуть, но шаги, о которых вы заявили, уже сделаны, и проблема все еще остается такой, какая она есть.
2. Пожалуйста, дайте мне знать, куда вы загрузили помощника
download
?3. Я пробовал это в том числе и в
autoload.php
том , и вcontroller_constructor()
другом, но ошибка остается той же.4. Пожалуйста, проверьте синтаксис в руководстве CodeIgniter, есть вероятность, что чего-то не хватает.