Sto utilizzando l'estensione di avanzamento caricamento PHP per recuperare informazioni sui file caricati sul mio sistema web. Tuttavia, per i file di dimensioni superiori a 2 GB, i byte totali e i campi rimanenti vengono restituiti come numeri negativi.Avanzamento caricamento estensione PHP - restituzione totale byte negativo e tempo rimanente
Apache è stato configurato per garantire che i file di dimensioni fino a 3 GB possano essere caricati sul sito web. Ho provato questo e funziona. Tuttavia è puramente la segnalazione che sta tornando in modo errato.
Mi chiedevo se questo fosse qualcosa a che fare con un limite ai valori di PHP e cosa si potrebbe fare per risolverlo. Credo che il sistema stia usando interi a 64 bit. Come mostra il seguente:
echo "PHP_INT_MAX: " . PHP_INT_MAX;
// PHP_INT_MAX: 9223372036854775807
Ecco alcune informazioni in più su come funziona barra di avanzamento e viene installato: http://www.ultramegatech.com/blog/2010/10/create-an-upload-progress-bar-with-php-and-jquery/
Per ottenere le informazioni che ho semplicemente chiamare la funzione di estensione:
$status = uploadprogress_get_info($unique_form_id);
Quale restituisce i byte totali, il tempo rimanente, i byte correnti e altro come mostrato di seguito (con byte totali negativi):
array(11) {
["upload_id"]=> string(32) "ec75a30c24177ec1579aea93b56224f2"
["fieldname"]=> string(9) "comp_data"
["filename"]=> string(15) "Size_2-09GB.zip"
["time_start"]=> string(10) "1325851749"
["time_last"]=> string(10) "1325851758"
["speed_average"]=> string(5) "93011"
["speed_last"]=> string(6) "112618"
["bytes_uploaded"]=> string(6) "837105"
["bytes_total"]=> string(11) "-2048166056"
["files_uploaded"]=> string(1) "1"
["est_sec"]=> string(9) "-76260228"
}
Aggiornamento
(6 gennaio 2012): Ho anche contattato lo sviluppatore di questa estensione per vedere se possono condividere qualsiasi intuizione.
Update (9 gennaio 2012): sviluppatore dell'estensione ha risposto sottolineando che non v'è un ticket esistente riguardo a questo problema: https://bugs.php.net/bug.php?id=59918
Update (16 Gennaio 2012): sono riusciti a sbarazzarsi del valore negativo essere restituito dall'estensione. Tuttavia, il numero restituito è molto diverso rispetto al numero effettivo di byte totali rispetto a quello che Windows dice che si trova nella finestra delle proprietà.
Come stai ricevendo e visualizzando il file? – ManseUK
I numeri negativi suonano come un intero roundtrip. Probabilmente il file in questione è vicino o superiore a 2 GB? – hakre
Sì, il file è superiore a 2 GB come indicato nella domanda precedente. – diggersworld