У меня возникли трудности с попыткой просмотра pdf-файла за пределами папки webroot.CodeIgniter - ошибка при попытке просмотреть загруженные pdf-файлы
Это файл вида - я захватываю идентификатор файла из URL-адреса и затем запрашиваю db, чтобы получить всю информацию о файле, сохраненную из загрузки.
$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-'.
Файл находится в 777 правах доступа к каталогам под названием uploads прямо за пределами webroot. Я был повсюду в Интернете, и, кажется, существует несколько методов для отображения pdf-файла, ни один из которых, похоже, не работает для меня , Любая помощь будет оценена по достоинству. Благодаря!
Похоже, проблема связана не с файлом, а с его браузером. http://file-repair.blogspot.ca/2012/01/how-to-solve-pdf-file-error-message.html –