PHP / JS - dosyaları olarak anında veya deposunda küçük oluşturun

5 Cevap php

Bir resim barındırma web uygulaması için:

Benim saklı görüntüler için, PHP (ya da her neyse) kullanarak anında küçük oluşturmak mümkün, ya da ben diske 1 veya daha fazla farklı büyüklükteki küçük tasarruf ve sadece bu yük gerekir? Lütfen akıl açıklayınız.

Herhangi bir yardım, teşekkür takdir edilmektedir.

5 Cevap

Diske küçük tasarruf. Görüntü işleme kaynaklarının bir sürü alır ve görüntünün boyutuna bağlı olarak, php için varsayılan izin verilen bellek sınırı aşabilir. Yalnızca uygulama çalışırken ile kendi sunucusu var ama hala görüntüleri yeniden boyutlandırmak için cpu gücü ve bellek bir sürü alır eğer bir endişe azdır. , Ilk talep üzerine kaynak dosyadan resmini oluşturmak, diske kaydetmek ve sonraki istekleri üzerine sadece diski onu okuma - zaten anında küçük oluşturmak düşünüyorsanız, size çok değiştirmek zorunda değilsiniz.

Her iki dünyanın en iyisi gibi, phpThumb kullanın. Sen sinek küçük oluşturabilirsiniz, ancak otomatik olarak gelecekteki istekleri hızlandırmak için görüntüleri önbelleğe alır. Bu GD ve ImageMagick kütüphaneler etrafında güzel bir sarıcı oluşturur. Bir göz değer!

Bu minik önbelleğe çok daha iyi olurdu. Anında onları üreten çok sistemde vergi olacaktır.

Bu sitenin kullanım şekline bağlıdır, ancak, temelde, kaç kere sen beklemek her görüntü görülebilir?

Küçük resim durumda, (görüntü değişti kez ve asla tarih, böylece küçük ya da değişmez) uzunca bir süre için etrafta olması çok olasıdır, yani tam görüntü yüklendiğinde zaman oluşturmak genellikle faydalıdır ve sonrası için saklayın. Site tamamen ölü sürece, onların ömür boyu kez birçok (yüzlerce veya binlerce) izlendi olacak ve disk bu gün gecikme çok daha ucuzdur. Bu da tabii ki, sunucu üzerindeki yük arttıkça daha önemli hale gelir.

Sürekli üreten Görüntülerde CPU zamanı israf önlemek amacıyla Tersine, her saat güncellenir (eğer daha sık) olsun hisse senedi grafikleri gibi bir şey için, o, size anında bunları oluşturmak için daha iyi yapacağını bir durum olurdu ki hayır Kullanıcı hiç göreceksiniz.

Eğer fantezi almak istiyorsanız Ya da, ihtiyaç duydukları konum ilk kez sinek ve daha sonra değişiklikleri oluşturulan oluyor verilere kadar, sonradan öncesi oluşturulan birini gösteren görüntüleri oluşturarak erişim desen ya da işlemek için optimize edebilirsiniz hangi noktada ihtiyaç duyulan bir dahaki sefere yeniden edilecek, böylece silmeniz etmektedir. Ama bu IMO, küçük gibi statik bir şey için abartılı olur.

gd library ve imagemagick check out