PHP'nin readfile () kullanın veya bir resim dosyasını görüntülemek için yönlendirme?

3 Cevap php

I've a directory outside the webroot with images, css and javascripts.
These files often change.
I could write a script which locates the file, figures out the mime type and outputs it to the browser.
Or
i could locate the file, copy it to a webaccessable directory and redirect to that file using header location. When the file is requested again, there first will be a check if the file is modified, and again a redirect.

Ne bilge daha iyi bir performans olurdu? Her bir readfile istemek, ya da her bir zaman damgası çek istemek ve yönlendirmek (yani bir yerine 2 istekleri)

3 Cevap

Performans İlk kural: kriter, spekülasyon yok.

Bir ağ gidiş ortadan kaldırır çünkü ben derhal, o ilk kural kırmak ve readfile daha hızlı olacağını spekülasyon olacak.

Ne kadar performans gerekiyor? Bunu yapmak için çok hızlı yolu (örneğin, http://static.mysite.com/foo.jpg) tamamen farklı bir makinede, ve sonra orada o web sunucusu sık sık değişen görüntü halledeyim kurulum için bir alt etki alanı altında ayrı bir statik içerikli web sunucusu olacak / css / javascript dosyaları.

Başka bir öneri: Eğer dosya sistemi kontrol varsa, belki görüntü dosyasına web erişilebilir dizininde bir symbolic link oluşturabilir? 'İn' komutunu çağırmak için) (exec veya maybe PHP symlink() fonksiyonu çalışmıyor olabilir ya.

Nasıl dosyasına doğrudan bir sembolik bağ değil, bütün dizin hakkında? Hatta bunu bir 'statik' filename, ve sonra web sunucusu muhtemelen çok daha hızlı, çok olurdu modifikasyon damgası kontrol ve önbelleğe alma, yapalım olabilir.

Deneyler olsa, tabii ki :)