WAMP kullanarak anında PNG görüntülerini sıkıştırmak için pngquant sıkıştırma algoritmasını kullanmaya çalışıyorum. PHP example sağlarlar (Bence) system32
klasörüne koyduğum command line binary for Windows'u kullanmalı ve komut satırında herhangi bir yerden erişebiliyorum.pngquant PHP örneği çalışmıyor
Örneklerini alıp sorunu $compressed_png_content = shell_exec("pngquant --quality=$min_quality-$max_quality - < ".escapeshellarg( $path_to_png_file));
satırına kadar takip ettim. var_dump(shell_exec('pngquant - < test.png'));
'a sadeleştirdim ancak passthru('pngquant - < test.png');
kullanıcısına bir dizge olarak doğru çıktıyı göndermesine rağmen sadece ilk 5 karakteri çıkarır. exec('pngquant - < test.png',$output); var_dump($output);
da doğru çıktıyı yakalamak gibi görünüyor, ancak bir görüntü dosyasına nasıl dönüşeceğini gerçekten bilmiyorum bir dizi şeklinde. Çıktıyı bir değişkende yakalamak istiyorum, böylece daha fazla sıkıştırma algoritması ve manipülasyonu kullanabilir ve kullanıcıya indirilebilir bir dosya olarak gönderebilirim.
diferences between system() vs exec() vs shell_exec() vs passthru() vs proc_open() vs popen() numaralı telefonu okudum. Shell_exec() doğru seçim gibi görünüyor, ancak php.net üzerinde shell_exec()'s bir dizgi çıkardığını söylüyor. Bu bir sorun olabilir mi? pngquant - < test.png
komut çıktısını bir değişkene doğru şekilde nasıl kaydederim?
Sadece söyleyerek, PNG görüntüleri zaten çok sıkıştırılmış. Ama yine de, bir soru +1. – Xorifelse
Ben bir web tasarımcısıyım. Çalıştığım PNG'lerim ve diğer tasarımcı PNG'lerinin çoğu, bu algoritma kullanılarak görsel olarak gözlenebilen bir bozulma olmaksızın% 40 ila% 70 oranında sıkıştırılabilir. Bence buna değdi :) –
Bir çözüm buldunuz mu? – sanjihan