私はhereを発見したことに基づいてzipスクリプトを作成しようとしていますが、致命的なエラーが表示されているようです:クラス 'ZipArchive'が新しいZipArchive );関数。PHP Zipクラスを作成するエラーが見つかりません
これを調べると、これは通常、PHPがコンパイルされる方法によるものと思われます。私は共有ホスティングアカウントを持っているので、私はこのようなものを設定していません...そして、私はビルドを変更することはできないと仮定します。関心の外に、私は私ののphpinfo()で見ていたし、私は、関連見えたいくつかのものが見つかりました:私はこれのいずれかがあることを意味している場合entirlyわからないんだけど、バージョン5.2.6
BZip2 Support Enabled <--maybe not so relevant
ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.1.4
Linked Version 1.1.4
を
PHPをIジップを作成する能力があります。 詳細については(私はそれが残念だとは思わないが)これまでのところ私のスクリプトです....これはあなたが私がこのクラスを見つけられないので、
$file = tempnam("tmp", "zip");
$zip = new ZipArchive();
$zip->open($file, ZipArchive::OVERWRITE);
//the string "file1" is the name we're assigning the file in the archive
$zip->addFile('show1.jpg', 'file1.jpg');
$zip->addFile('show2.jpg', 'file2.jpg');
$zip->addFile('show3.jpg', 'file3.jpg');
$zip->addFile('show4.jpg', 'file4.jpg');
$zip->addFile('show5.jpg', 'file5.jpg');
$zip->addFile('show6.jpg', 'file6.jpg');
// echo $zip->file(); //this sends the compressed archive to the output buffer instead of writing it to a file.
$zip->close();
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="' . $file.'"');
readfile($file);
unlink($file);
は私の質問(複数可)が実際にある:
- 私はこのエラーを引き起こすことが私のスクリプトで何をやっていますか?
- 私のphpinfo()からのそのようなものは、Zipファイルを作成することができなければならないことを意味します。私がそこに探しているものではなく、私に能力があれば教えてください。
- これはZLibがライブラリの一部のソフトですが、私はそれが何をしたいのか、それを使うのかどうかは分かりません。これはちょっとしたことですが、ifそれは私がそれを使用する方法の正しい方向に私を指すことができますZIPファイルを作成するのに役立ちますか?
ありがとうございます。 Dan
私は共有ホスティング上だと私はそのシーイングものの仮定アカウント私はこれを行うことはできません? Webホスティングプロバイダ(私の場合はstreamline.net)は、PHPを再コンパイルして、右のものを追加することができる唯一の人ですか?...または私ができることは何ですか? –
あなたのホスティングプロバイダがzipでPHPビルドをやり直すことができない場合、PCLZipライブラリが代わりになる可能性があります –
@マークBaker Thanks Mark、私は今朝PCLZipを探してきました。 –