0
私はファイルを拡張子PDFとDOCXで持っています。私のサーバーからダウンロードすると、ファイルは開けず、サーバーのフォルダに199kbのサイズがあります。 IAMファイルのパスとファイル名を格納するためのデータベースを使用して、ここでダウンロードしたファイルは開けません(ダメージ)codeigniter
ビュー
<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になったように、破損して開くことができません。すべては、ダウンロードプロセスまで、私はパスをチェックしたいと思いますアドバイス
スクリプトがファイルのパスを見つけてもよろしいですか?ファイルのパスを「手で」与えるとどうなりますか? – dimis283
パスiはdb sirに格納されているので、パスとファイル名はdbの別の列に格納されます。db = http:// localhost/Warsito/assets/user-proposal/ のパスの値はここにありますファイル名の値は、db = antonprio_06122016_050646.pdf にあります。file_get_contentで分割しているので、次の文字列はhttp:// localhost/Warsito/assets/user-proposal/antonprio_06122016_050646です。 pdf –
$ path-> file_get_contents($ data-> PATH。$ data-> FILE_NAME)に$ data-> PATHと$ data-> FILE_NAMEの間に "/"があることを確認してください。あなたの例でhttp://localhost/Warsito/assets/user-proposal/antonprio_06122016_050646.pdf – dimis283