Maaf jika ini duplikat, saya pikir itu akan tetapi tidak dapat menemukan apa pun.
Saya memiliki aplikasi fleksibel yang mengirimkan data kembali ke server php / mysql via IE. Saya belum mengalami masalah, tetapi mengetahui ini sebelumnya mungkin menyelamatkan saya dari frustrasi dan pekerjaan. Apakah ada batasan ukuran untuk mengirim data melalui http?
Artikel ini mengatakan tidak: http://www.netlobo.com/ie_form_submit.html
Diskusi ini mengatakan ya: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
Dan semuanya berjalan bolak-balik apa yang dapat saya temukan online. Jadi tolong batasi jawaban untuk nomor yang diuji / diverifikasi secara pribadi.
Saya ingin memposting kembali string XML yang bisa cukup besar (katakanlah hingga 5MB).
Jika ada bedanya: browser akan selalu berupa IE (produk kami memerlukannya), posting berasal dari dan httpService dengan fleksibel, server web adalah php, DB adalah mySql.
sumber
Jawaban:
Itu tergantung pada konfigurasi server. Jika Anda bekerja dengan PHP di Linux atau yang serupa, Anda dapat mengontrolnya menggunakan file konfigurasi .htaccess, seperti:
Dan, ya, saya pribadi bisa membuktikan fakta bahwa ini bekerja :)
Jika Anda menggunakan IIS, saya tidak tahu bagaimana Anda akan menetapkan nilai khusus ini.
sumber
post_max_size
pengaturan ini ? Saya agak baru mengenal php dan saya tidak dapat menemukannya di basis kode kami (menggunakan proses dreamWeaver find-all). Saya akan bertanya kepada sys admin kita tetapi mereka jahat. :-PBagian url dari permintaan (GET dan POST) dapat dibatasi oleh browser dan server - umumnya ukuran amannya adalah 2KB karena hampir tidak ada browser atau server yang menggunakan batas yang lebih kecil.
Tubuh permintaan (POST) biasanya * dibatasi oleh server berdasarkan ukuran byte untuk mencegah jenis serangan DoS (perhatikan bahwa ini berarti karakter yang melarikan diri dapat meningkatkan ukuran byte tubuh). Pengaturan server yang paling umum adalah 10MB, meskipun semua server populer memungkinkan ini ditingkatkan atau dikurangi melalui file pengaturan atau panel.
* Beberapa pengecualian ada pada ponsel yang lebih lama atau browser perangkat kecil lainnya - dalam hal ini lebih merupakan fungsi dari ruang tumpukan yang disediakan untuk tujuan ini pada perangkat daripada yang lain.
sumber
curl
Juga, dalam file PHP.INI ada pengaturan:
yang dalam versi PHP saya: 5.4.16 default ke 1000.
Dari manual: "Berapa banyak variabel input yang dapat diterima (batas diterapkan ke $ _GET, $ _POST dan $ _COOKIE superglobal secara terpisah)"
Ref .: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
sumber
Anda dapat memposting data dalam jumlah besar dengan mengatur variabel php.ini:
max_input_vars
Ukuran default dari variabel ini adalah 1000 tetapi jika Anda ingin mengirim sejumlah besar data, Anda harus menambah ukurannya. Jika Anda tidak dapat mengatur ukuran dari ini_set Anda harus melakukannya melaluihtaccess
atau dengan melakukan perubahan ke file php.ini secara langsung.sumber
Seperti yang ditunjukkan David, saya akan menggunakan KB dalam banyak kasus.
Catatan: formulir saya sederhana, hanya beberapa kotak teks, bukan teks panjang.
sumber
Secara default, permintaan posting memiliki ukuran maksimum 8mb. Tetapi Anda dapat memodifikasinya sesuai dengan kebutuhan Anda. Modifikasi dapat dilakukan dengan membuka file php.ini (pengaturan konfigurasi php).
Temukan
ganti 8 sesuai dengan kebutuhan Anda.
sumber
Terserah server http untuk memutuskan apakah ada batasan. Produk yang saya kerjakan memungkinkan admin untuk mengkonfigurasi batas.
sumber
Salah satu solusi terbaik untuk ini, Anda tidak menggunakan beberapa atau lebih dari 1.000 bidang input. Anda dapat menggabungkan beberapa input dengan karakter khusus apa saja, misalnya.
@
.Lihat ini:
Menggunakan skrip apa pun (JavaScript atau JScript),
Dengan ini, Anda akan melewati
max_input_vars
masalah. Jika Anda meningkatkanmax_input_vars
dalam file php.ini, itu berbahaya bagi server karena menggunakan lebih banyak memori cache server, dan ini kadang-kadang dapat menyebabkan crash server.sumber
max_input_vars
opsiphp.ini
dengan ini. Tidak persis, apa yang diminta, tetapi masih bermanfaat.Untuk pengembang yang tidak dapat mengubah konfigurasi php karena webhosting. (Pengaturan saya ukuran maksimum 256MB, 1000 variabel maks)
Saya mendapat masalah yang sama bahwa hanya 2 dari 5 objek data besar (array asosiatif) dengan substruktur diterima di sisi server.
Saya mengetahui bahwa seluruh substruktur sedang "diratakan" dalam permintaan pos. Jadi, satu objek menjadi ratusan variabel literal. Pada akhirnya, alih-alih 5 variabel Objek, pada kenyataannya mengirim puluhan ratusan variabel elemen.
Solusi dalam hal ini adalah membuat serial setiap substruktur menjadi String. Kemudian diterima di server sebagai 5 variabel String. Contoh:
{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
sumber