2016-12-08 4 views
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になったように、破損して開くことができません。すべては、ダウンロードプロセスまで、私はパスをチェックしたいと思いますアドバイス

+0

スクリプトがファイルのパスを見つけてもよろしいですか?ファイルのパスを「手で」与えるとどうなりますか? – dimis283

+0

パス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 –

+0

$ 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

答えて

0

感謝をクリックしてダウンロードユーザーからよく働きます。動的生成パスではなく、テスト目的でファイルの絶対パスを使用できます。

関連する問題