1
在我看來,我有一個鏈接,允許用戶查看在新窗口中的文件:通過控制器查看文件,而不是通過直接訪問。 htaccess的?
<li>
<a href="/files/fileview/<?php echo $files_selectallrow->fileid; ?>" target="_blank">
<i class=" icon-file-eye"></i>
View this file
</a>
</li>
這會將通過控制器的文件,該文件顯示在一個視圖中的文件:
控制器:
//Load model
$this->load->model('files/files_model');
//Lookup file
$file = $this->files_model->findfilebyid($fileid);
//Get data
$data['file'] = base_url(). '' . $file->filenamepath."/".$file->filename.".".$file->filetype ;
$data['header'] = $file->filetypeheader;
//Load view
$this->load->view('portal/files/fileview_view', $data);
查看:
// Let the browser know what file is coming.
header("Content-type: ".$header);
header("Content-Length: " . filesize($file));
// Send the file to the browser.
readfile($file);
這完美的作品,一它應該。 現在當然,默認情況下,你可能能夠查看文件,以通過直接鏈接訪問它,比如:http://www.example.com/filestorage/myfile.pdf
我想避免這種情況通過添加.htaccess文件與所有規則拒絕。 但是,這也阻止查看我的文件...
我有點失去了我應該如何處理這個問題。我應該保留拒絕所有.htaccess規則,並以另一種方式顯示我的文件,或者,我是否應該修改.htaccess文件,以便拒絕所有文件,除了我的視圖?
感謝
使用您的方法,您可以將pdf放在public_html文件夾之外,以防止全局訪問。只要確保在public_html之前將它們上載到目錄中,並將相應的路徑正確保存到數據庫中即可。 – sotoz