2017-01-06 10 views
0

私はWebサイトにcodeigniterフレームワークを使用しています。特定のディレクトリからすべてのファイルをダウンロードする必要があります。私はPHPだけでこの作業を行うことができますが、codeigniterで作業していないのはいくつかのパスの問題が原因です。私は多くのサイトで検索しましたが、正しい解決策を得ることができませんでした。また、公式の文書(codeigniter zip documentation)に従っていますが、成功することはありません。私は直接テストすることができる作業コードが必要です。私が今持っている コードは次のとおりです。codeigniterを使ってディレクトリからすべてのファイルをダウンロードするには?

$path = '/path/to/your/directory/'; 

$this->zip->read_dir($path); 

// Download the file to your desktop. Name it "my_backup.zip" 
$this->zip->download('my_backup.zip'); 
+0

答えを知っている人はいますか?私はこの時点で立ち往生した。 – WeAreRight

+0

フォルダからzipファイルをダウンロードしますか? –

+0

@KumarRakeshフォルダ全体をダウンロードしたいです。 – WeAreRight

答えて

1

試みの多くの後、最後に、私は、正確な問題を発見しました。実際、CodeIgniterコードは完全に機能します。問題はパスを設定することです。ここでは、CodeIgniterプロジェクトフォルダ内のassetsフォルダ内にnoimgという名前のフォルダを圧縮しています。

function zip() 
{ 
    $this->load->library('zip'); 

    $path = FCPATH.'/assets/noimg'; 

    $this->zip->read_dir($path,FALSE); 

    // Download the file to your desktop. Name it "my_backup.zip" 
    $this->zip->download('my_backup.zip'); 
} 

「FCPATH」を入れることを忘れないでください。前/資産は非常に重要です。その後、パスのみを識別することができます。何か問題がある場合は、下記にコメントしてください。上記のコードは私にとって完璧に動作します

+0

私はこの問題を解決しました。しかし、私はドットなしでコードを実行することができます、なぜそうですか? localhostではなくlive hostingで実際に動作しているときに問題になるのでしょうか?また、動作しないパスにbase_url()を追加すると、その理由は何か? – WeAreRight

+0

ああ、たわごと。私はちょうど 'を試みた。パスの前に、ファイルのzipをダウンロードするのではなく、内部に何もないテキストファイルだけだったと推測します。 – WeAreRight

+0

私のコードはあなたのために機能しましたか?あなたが言ったように、自分のプロジェクトを私のDebianサーバにアップロードして、もう一度やり直してください。それは完全に動作します。 –

関連する問題