Nasıl incelikle PHP'un aşan dosyalar `post_max_size`işlemek için?
Bir e-posta için bir dosya ekler PHP bir form üzerinde çalışıyorum, ve incelikle yüklenen dosya çok büyük olduğu durumlarda işlemek için çalışıyor.
Dosya upload maxiumum boyutunu etkileyen php.ini
iki ayar olduğunu öğrendim: upload_max_filesize
post_max_size
.
Eğer bir dosyanın boyutu aşarsa upload_max-filesize
, PHP 0 olarak dosyanın boyutunu verir. Sorun değil; bunun için kontrol edebilirim.
Ama eğer post_max_size
, senaryoyu ben aşarsa sessizce başarısız olur ve geri boş bir form için de geçerli.
Bu hata yakalamak için bir yolu var mı?
CEVAP
http://ca2.php.net/manual/en/ini.core.php#ini.post-max-size
Eğer post data boyutu büyük ise post_max_size,$_POST ve $_FİLES superglobals boş. Bu çeşitli şekillerde, örneğin izlenebilir bu $_GET değişkeni geçerek komut işleme veri, yani , sonra $_GET olmadığını kontrol etme [''] işlenir ayarlayın.
Bu yüzden ne yazık ki, PHP gibi görünmüyor gönderir bir hata. Ve $_POST dizi boş am gönderir beri, senaryo boş form bir YAZI olduğunu düşünüyorum yok olacak olmasıdır. (Çok kötü bir tasarım kararı IMHO)
This commenter da ilginç bir fikri var.
Daha şık bir yol gibi görünüyor post_max_size arasında karşılaştırma $_SERVER [''] CONTENT_LENGTH. Lütfen ikincisi sadece içerir unutmayın yüklenen dosya boyutu artı yazılan veri ama aynı zamanda çok parçalı dizileri.
Nasıl ilerleme iletişim ve arka plan i...
Dosyalar ve klasörler de dahil olmak ü...
Nasıl gıt sayısı işlemek için?...
Nasıl düğmeye tıklama Parçaları içinde...
Nasıl Git grep belirli bir kelime için...