POST veri büyük dosya upload disapearing

4 Cevap php

Benim PHP uygulamasında bir dosya yükleme programı ile ilgili sorunlar yaşıyorum. Form üzerinde (9MB +) büyük dosyaları gönderirken, ben çok garip bir davranış olsun: dosya bilgileri de dahil olmak üzere ben formu çekene dahil ettik POST verileri.

Ben zaten geleni PHP limitleri arttı (zaman sınırı, maksimum giriş zamanı, sonrası maksimum boyutu, bellek sınırı ve maksimum dosya boyutu yüklemek) ve ben hala doğru davranış alınamıyor ettik. Ben bir Flash tabanlı bir çözüm (SWFUpload, www.swfupload.org), yine aynı davranışı ile düzenli HTTP formlarını değiştirerek denedim.

Ben benzer boyutları ve kesinlikle belirli bir dosya sorunu birden fazla dosya denedim. Firebug kullanılarak gönderilen POST değişkenler ayıklanmış ettik ve doğru değişkenleri birlikte dosya ile, başlığında hala orada.

Burada neler oluyor olabilir?

4 Cevap

Web sunucuları da isteği boyutlarını sınırlamak için yapılandırılabilir. Apache kullanıyorsanız, LimitRequestBody direktifini kontrol.

1 küçük dosyaları yükleme deneyin -. 2 MB hala mümkün değil koduna eğer.

Eğer form tanımı = '/ multipart / form-data' EncType ekledik umuyoruz.

Ok, I think I have the solution. You must check for both post_max_size directive and $_SERVER['CONTENT_LENGTH'], so if $_SERVER['CONTENT_LENGTH'] surpasses post_max_size means that they are trying to upload too many data.

$POST_MAX_SIZE = ini_get('post_max_size');
$mul = substr($POST_MAX_SIZE, -1);
$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1)));
if( $_SERVER['CONTENT_LENGTH'] > $mul*(int)$POST_MAX_SIZE && $POST_MAX_SIZE )
{
    $error = true;
}

http://www.php.net/manual/en/features.file-upload.php#73762: Çözüm buradan alınan

Ne sunucu üzerinde çalışan? Ben bazı sunucular OS izin verirler büyük dosyaları nasıl bir sınır belirledik düşünüyorum. Bu değer değiştirilebilir.