2016-05-15 4 views
0

私は単純なPHPアプリケーションを開発しています。この場合はボタンをクリックすることで、1回のリクエストで複数のファイルをダウンロードする必要があります。私はこれを行う方法は、私がダウンロードしたいファイルを含むzipファイルを作成することだと言ういくつかのWebリソースを見てきました。これを行う最初の2つの命令は次のとおりです。PHPでZIPを作成:クラスZipArchiveはBluemixに存在しますか?

$zip = new ZipArchive(); 
$zip->open(“zipname.zip”, ZipArchive::CREATE); 

ただし、実行中に最初の命令は機能しません。ログウィンドウでは、表示されたエラーは、このです:

Class 'ZipArchive' not found in /home/vcap/app/htdocs/download.php 

私はZipArchiveがBluemixで有効になっているが、それが見つからなかったかどうかを確認するためにphpinfo()をエコーし​​ました。

これを行うことができれば、どのように動作させることができますか?

それ以外の場合、Bluemixで動作する複数のファイルをダウンロードする別の方法はありますか?

答えて

0

あなたはoptions.jsonファイルにPHPモジュールzipを追加する必要があります。

options.jsonファイルがまだない場合は、アプリケーションルートディレクトリの.bp-configディレクトリに作成できます。このファイルは再びcf pushを使用してアプリケーションをプッシュし作成した後

{ 
    "PHP_EXTENSIONS": [ "zip", "zlib", "pdo" ] 
} 

options.jsonファイルは次の形式を持つ必要があります。

+0

ありがとう!私はフォルダーとファイルを作成しました(括弧の中の "$ more .bp-config/options.json"という文字列がエラーを生成し、正しくない、私はそれを書いていませんでした)?動作しません。 "zip"や "zlib"や "pdo"のような別の拡張子を書くと、そのページの内容は読み込まれません。代わりに、たとえば「カール」と書いても、問題なく動作します。理由は何ですか? – Dieghitus

+0

申し訳ありませんが、ファイルに「$ more ...」を追加する必要はありません。私は正しいファイル形式で答えを更新しました。 –

+0

それは動作します!私が "zip"だけをインクルードする前に、php_extensionsの宣言がデフォルトのものを上書きして以来、私はすべてのプロジェクトを動作させるために "curl"も含める必要がありました。ありがとうございました! – Dieghitus

0

BlueMixはサーバーに追加していないようですので、使用できません。

多分これはあなたのための代替です:https://github.com/Grandt/PHPZip

+0

私は見ていきます。ありがとうございました! – Dieghitus

関連する問題