我在嘗試查看webroot文件夾以外的pdf文件時遇到困難。CodeIgniter - 嘗試查看上傳的PDF文件時出錯
這是視圖文件 - 我是從URL抓取文件ID,然後查詢數據庫來獲取所有從上傳存儲的文件信息。
$fid = $_GET['fid'];
$query = $this->db->query("SELECT * FROM files WHERE FID = $fid");
$fileinfo = $query->result();
foreach ($fileinfo as $row)
{
$fname = $row->file_name;
$ftype = $row->file_type;
$fpath = $row->file_path;
$full_path = $row->full_path;
$raw_name = $row->raw_name;
$client_name = $row->client_name;
$file_ext = $row->file_ext;
$file_size = $row->file_size;
$is_image = $row->is_image;
$width = $row->image_width;
$height = $row->image_height;
$img_type = $row->image_type;
$img_size = $row->image_size_str;
$orig_name = $row->orig_name;
$created = $row->created;
}
然後我採取這一信息,並使用它傳遞給File_viewer_model如下:
$this->load->model('File_viewer_model');
$this->File_viewer_model->getFileInfo($fname,$ftype);
在接收數據模型的功能如下:
function getFileInfo($fname,$ftype){
$path = '/home/sitename/uploads/' . $fname;
header('Content-Type: ' . $ftype);
header('Content-Length: ' . filesize($path));
readfile($path);
}
問題是,當我點擊鏈接打開一個新的標籤,並嘗試顯示文件,我得到以下錯誤:
File does not begin with '%PDF-'.
該文件是在一個名爲上傳右外Webroot公司的777個權限目錄 - 我一直都在網上,並似乎有幾種方法來顯示PDF文件,其中沒有一個似乎對我的工作。任何幫助,將不勝感激。謝謝!
聽起來像這個問題不是文件,而是瀏覽器渲染它。 http://file-repair.blogspot.ca/2012/01/how-to-solve-pdf-file-error-message.html – 2013-03-14 23:52:25