人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GDとPEARのFile_Archive.phpを使って、pngを以下のようにzip圧縮したいと考えていますが、うまくいきません。どのようにしたらいいのでしょうか。

$png = imagecreatefrompng("abc.png");

$test = File_Archive::toArchive("test.zip", File_Archive::toOutput());

$test->newFile("test/abc.png");
$test->writeData($png);

●質問者: penchick
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ABC Gd Pear PHP PNG
○ 状態 :終了
└ 回答数 : 1/3件

▽最新の回答へ

1 ● tobeoscontinue
●60ポイント

単純にabc.pngを圧縮するということではダメなのでしょうか

File_Archive::extract(
 File_Archive::read("abc.png"),
 File_Archive::toArchive("test.zip", File_Archive::toOutput())
);

下記の場合は、圧縮したものを解凍はできるのですが、ちょっとおかしいようでメッセージが出ます(最後の方でチョッとだけ結果が違ってました)。

 $test = File_Archive::toArchive("test.zip", File_Archive::toOutput());
 $test->appendFile("abc.png", "abc.png");
 $test->close();

GDで作成したイメージ画像を圧縮したいという意味なら一旦、imagepng($png, "abc.png")を使ってファイルに落として圧縮したらいいと思います。

ファイル名を指定しなければ標準出力に出力されるようなのでそれを文字列として受け取れればwriteData()で出来るのですがその方法は解かりませんでした。


蛇足ながらpngなどは既に圧縮されているので、更に圧縮してもあまり効果はないように思います。

◎質問者からの返答

回答ありがとうございます。結局、別の方法で実現することができました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ