Вызов метода контроллера из представления - PullRequest
1 голос
/ 20 марта 2012

У меня в контроллере есть метод

public function download($filepath){

$download_path = $_SERVER['DOCUMENT_ROOT']. "mediabox/import";
$file = $download_path + $filepath ;

if(!$file) die("I'm sorry, you must specify a file name to download.");
if(eregi("\.ht.+", $file)) die("I'm sorry, you may not download that file.");
if(!file_exists($file)) die("I'm sorry, the file doesn't seem to exist.");
$type = filetype($file);

    header("Content-type: $type");
header("Content-Disposition: attachment;filename=$filename");
header('Pragma: no-cache');
header('Expires: 0');
    // Send the file contents.
readfile($file);

}

На мой взгляд, у меня есть ссылка

<a target='_blank' class='download_dialog' onClick="???">

Я хочу вызвать метод загрузки события onclick моего контроллера по ссылке,Это хорошо?Как мне это сделать ?Спасибо

Ответы [ 3 ]

2 голосов
/ 20 марта 2012

Вы можете попробовать:

<a target='_blank' class='download_dialog' href="<?php echo base_url();?>YourControllerName/download">

(и да, вам нужно будет использовать помощник по URL для base_url) или использовать этот URL в каком-то вызове javascript onClick, но я не уверен, что этолучшее решение для вас.

0 голосов
/ 20 марта 2012

Пожалуйста, обратите внимание на использование вызовов AJAX.В Интернете есть несколько замечательных ресурсов, и вот один из них:

http://www.switchonthecode.com/tutorials/simple-ajax-php-and-javascript

0 голосов
/ 20 марта 2012

Всегда хорошая идея сначала обратиться к документации:

http://codeigniter.com/user_guide/general/urls.html http://codeigniter.com/user_guide/helpers/url_helper.html

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