PHP - Maksimum Toplam Yükleme Boyutu?

7 Cevap php

Ben 15 alanları ile bir php web sayfası var. Kullanıcı resim yüklemek için kullanacağız. Ben herhangi bir sorun olmadan, 15 jpg görüntüleri, her biri yaklaşık 2 M yükleyerek bu test. Ben başlatmak gününde, başka Linux için bu web sayfasını hareket edilecektir ortamı (hala emin değilim) barındırma paylaştı. Bir http isteği toplam yüklenenler boyutunu sınırlamak bazı web hosting ortamlar var mı?

7 Cevap

Yükleme sınırları php ini aracılığıyla ayarlanır. Öyle gibi onları elde deneyebilirsiniz:

$post_max_size = ini_get('post_max_size');
$upload_max_filesize = ini_get('upload_max_filesize');

Php.ini bir ayardır. Siz "upload_max_filesize" etiketli alanı için php bilgi çıktı bakabilirsiniz. , Bir php bilgi sayfası olsun aşağıdaki kod ile bir php dosyası oluşturmak için:

<?php phpinfo(); ?>

This post php.net sana o bilgiyi almak için örnek kod verir ve sayfanın geri kalanı php yapılandırma seçenekleri bir hazine.

Yükleme işlemini sınırlayan PHP ayarları demet vardır:

  • file_uploads
  • upload_max_filesize
  • max_input_time
  • memory_limit
  • max_execution_time
  • post_max_size

Ben bu sayfayı okuduktan öneririm: http://www.radinks.com/upload/config.php

Bu çok yükleme boyutunu sınırlamak değil doğru olsa da, onlar yükleme işlemi bir kap koymak yapmak - örneğin bellek sınırı çok düşük ise, o zaman küçük bir süre için hafızada kalmak için gereken büyük dosya yükleme sorunları gerekir.

Bu sıradışı olabilir, ama tabii ki, seçtiğiniz hosting şirketi ile kontrol ediyorum. Bir sınırı var olsaydı, kesinlikle daha yüksek 30 MB olacaktır.

php.ini yönergesi "post_max_size" tek bir POST göndermek ne kadar veri miktarını sınırlamak gerekir. Eğer bir yazı 15 görüntüler sonrası eğer o hala bir POST kabul edilir eminim. Bu yüzden canlı gitmeden önce bu değeri kontrol etmek iyi olabilir.

Ben şimdiye kadar en iyi çözümü here gördüm, ve bu kodu:

/**
 * Returns the maximally uploadable file size in megabytes
 *
 * @return  string
 */
function getMaxUploadSize()
{
   $max_upload    = (int)(ini_get('upload_max_filesize'));
   $max_post      = (int)(ini_get('post_max_size'));
   $memory_limit  = (int)(ini_get('memory_limit'));
   return min($max_upload, $max_post, $memory_limit);      
}