下载的文件无法打开(损坏)codeigniter

时间:2016-12-08 07:57:47

标签: php codeigniter

我有一个扩展名为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。一切正常,从用户点击下载到下载过程

感谢您的建议

1 个答案:

答案 0 :(得分:0)

我想检查路径。您可以使用文件的绝对路径进行测试,而不是动态生成的路径。