我有一个扩展名为PDF和DOCX的文件,当我从我的服务器下载文件时,该文件无法打开,大小变为1kb,而在我的服务器文件夹中,它的大小为199kb。我使用数据库来存储文件路径和文件名,这是我下载文件的视图
查看
<a href="<?php echo site_url('admin/admin_controls/download_proposal/'.$hasil->ID_PEMESANAN.'')?>"><?php echo $details->FILE_NAME; ?></a>
和我的控制器
Admin_Controls.php
function download_proposal($id_pemesanan) {
$this->load->helper('download');
$this->load->model('gedung/gedung_model');
$temp_id = substr($id_pemesanan, 7); //i cut the string because it content prefix string
$data = $this->gedung_model->get_proposal_by_id($temp_id);
$path = file_get_contents($data->PATH.$data->FILE_NAME);
$file_name = $data->FILE_NAME;
force_download($file_name, $data);
}
我的模特
Gedung_Model.php
public function get_proposal_by_id($id_pemesanan) {
$sql = "SELECT * FROM pemesanan_details WHERE ID_PEMESANAN = $id_pemesanan";
$query = $this->db->query($sql);
$hasil = $query->row();
return $hasil;
}
我的问题是在我下载文件后,它变得已损坏且无法打开,就像我说的大小变为1kb。一切正常,从用户点击下载到下载过程
感谢您的建议
答案 0 :(得分:0)
我想检查路径。您可以使用文件的绝对路径进行测试,而不是动态生成的路径。