PHP POST istek boyutunu olsun

5 Cevap php

PHP POST-istek gövdesinin boyutunu almak için herhangi bir yolu var mı?

5 Cevap

: Gibi basit

$size = (int) $_SERVER['CONTENT_LENGTH'];

$ _SERVER ['CONTENT_LENGTH'] sadece POST metodu ile HTTP istekleri ayarlanır unutmayın. Bu Content-Length üstbilgisi ham değerdir. Bkz: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

Eğer almak isterseniz dosya yükleme durumunda, total size of uploaded files, her $ dosya ['size'] Özetle $ _file unsurları üzerinde yineleme gerekir. Kesin toplam boyutu nedeniyle POST verilerinin kodlama yükü için ham Content-Length değerini eşleşmiyor.

Ayrıca file errors, sen $ dosya ['error'] her $ _FILES elemanın kod kontrol etmelisiniz unutmayınız. Örneğin, kısmi yüklenenler hata UPLOAD_ERR_PARTIAL dönecek ve boş yüklenenler UPLOAD_ERR_NO_FILE dönecektir. PHP kılavuzda dosya yükleme hataları belgelerine bakın.

If you're trying to figure out whether or not a file upload failed, you should be using the PHP file error handling as shown at the link below. This is the most reliable way to detect file upload errors:
http://us3.php.net/manual/en/features.file-upload.errors.php

Eğer bir POST isteği boyutuna ihtiyacınız varsa without any file uploads, böyle bir şey ile bunu yapmak mümkün olmalıdır:

$request = http_build_query($_POST);
$size = strlen($request);

Benim tahminim $_SERVER['CONTENT_LENGTH'] öyle olduğunu.

Ve hata tespiti için, gözetleme ihtiyacınız varsa $_FILES['filename']['error'].

Bu işe yarayabilir:

$bytesInPostRequestBody = strlen(file_get_contents('php://input'));
// This does not count the bytes of the request's headers on its body.