2012-03-20 79 views
0

控制器方法我有一個方法在我的控制器調用從視圖

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事件的下載實現方法具鏈接 。 這樣做好嗎? 我該怎麼辦? 感謝

回答

1

你可以嘗試:

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

(是的,你需要使用要base_url的url助手)或在某些javascript onClick調用中使用該url,但我不確定這是否是最適合您的解決方案。

+0

如果有什麼方法是在我的模型? – 2012-03-20 15:43:31

+0

感謝它工作:) – 2012-03-20 15:48:32