PHP 업로드 진행 확장 프로그램을 사용하여 웹 시스템에 업로드되는 파일에 대한 정보를 검색합니다. 그러나 2GB보다 큰 파일의 경우 총 바이트 및 남은 필드는 음수로 반환됩니다.PHP 확장 업로드 진행 - 남은 총 바이트 및 남은 시간을 반환합니다.
Apache는 최대 3GB 크기의 파일을 웹 사이트에 업로드 할 수 있도록 설정되었습니다. 나는 이것을 시험해 보았고 효과가있다. 그러나 그것은 잘못보고 된 순전히보고입니다.
이것이 PHP 값의 한계와 관련이 있는지, 그리고이를 해결할 수 있는지 궁금합니다. 나는이 시스템이 64 비트 정수를 사용한다고 생각한다. 다음에서 볼 수 있듯이 :
echo "PHP_INT_MAX: " . PHP_INT_MAX;
// PHP_INT_MAX: 9223372036854775807
방법은 다음과 같습니다 진행 표시 줄의 작품에 대한 몇 가지 추가 정보입니다 및 설치됩니다 http://www.ultramegatech.com/blog/2010/10/create-an-upload-progress-bar-with-php-and-jquery/
단순히 확장 함수를 호출 정보 활용하려면 다음
$status = uploadprogress_get_info($unique_form_id);
을 어느 아래 그림과 같이 총 바이트 수, 추정 시간 재 작성, 현재 바이트 수를 반환합니다 (음의 총 바이트 수 포함) :
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"
}
업데이트 (2012 년 1 월 6 일) :이 확장 프로그램 개발자에게 연락하여 의견을 공유 할 수 있는지 확인하기도했습니다.
업데이트 (2012 1월 9일) : (2012 1월 16일) https://bugs.php.net/bug.php?id=59918
업데이트 : 확장의 개발자가이 문제에 관한 기존의 티켓이 있음을 지적 대응하고 음의 값을 제거하는 관리가 확장에 의해 반환됩니다. 그러나 리턴 된 숫자는 Windows가 속성 창에 표시 한 것과 비교하여 실제 총 바이트 수를 의미합니다.
파일 크기가 어떻게 표시되고 있습니까? – ManseUK
음수는 정수 왕복과 비슷하게 들립니다. 문제의 파일이 2GB에 가깝거나 그 이상입니까? – hakre
예 위의 질문에서 언급 한 파일이 2GB를 초과합니다. – diggersworld