PHP는 Excel을 가져오고 프런트 데스크에 진행률 표시줄을 표시합니다.
怪我咯
怪我咯 2017-05-24 11:34:21
0
3
1293

PHP는 Excel을 가져오고 프런트 데스크에 진행률 표시줄이 표시됩니다. 조언 좀 부탁드립니다(Excel 파일 업로드 진행률이 아니라 PHP 읽기 Excel->데이터 처리->mysql에 쓰기의 진행률 표시줄)

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(3)
Peter_Zhu

이는 Excel의 크기와 단일 요청에 대해 서버에서 허용하는 최대 시간에 따라 다릅니다. 다음과 같은 상황으로 나눌 수 있을 것 같아요:

  1. Excel은 매우 작으며 가져오기가 1~2초 안에 완료됩니다. 이 경우 가짜 진행률 표시줄만 표시하면 충분합니다. 예를 들어, 첫 번째 초의 애니메이션 진행률은 50%에 도달하고, 두 번째 초의 진행률은 75%에 도달하고, 세 번째 애니메이션의 진행률은 90%에 도달한 다음, 서버가 OK를 반환한 후 진행률이 100%에 도달합니다.

  2. Excel은 상대적으로 크지만 요청에 대해 서버가 허용하는 최대 시간 내에 완료할 수 있습니다. -- 이 경우 몇 가지 접근 방식이 있습니다.

    1. 간단하고 간단하게 Excel로 가져오기 진행 상황을 추정하고 이를 특정 위치(예: 데이터베이스의 필드)에 저장하여 매 기간(예: 500ms)마다 진행 상황을 폴링합니다. ) 애니메이션을 표시합니다.

    2. HTTP 긴 연결을 사용하여 Excel 가져오기 요청의 진행 상황을 출력하세요. 시간에 맞춰 브라우저를 새로 고쳐야 합니다. 브라우저는 반환된 데이터를 기반으로 진행 애니메이션을 표시합니다.

  3. Excel의 용량이 매우 크거나 업무가 복잡하여 서버가 요청에 대해 허용하는 최대 시간 내에 완료할 수 없습니다. -- 이때 서버에서 CLI 스크립트를 실행할 수 있다면 CLI 스크립트를 실행하여 수행하는 것이 좋습니다. 가져오기(진행률 표시는 2.1 참조) ; 그렇지 않으면 Excel을 단계/시간/섹션으로 나눈 다음 브라우저에서 가져오기 작업을 단계별로 수행하고 분할된 결과에 따라 진행률을 표시해야 합니다.

我想大声告诉你

엑셀을 읽은 후 총 기록 수를 알 수 있나요?
네, 그럼 처리된 기록 수/총 수를 세어보세요.
아니요, 그렇다면 100% 완료 진행률 표시줄을 포기하고 내가 아직 살아 있음을 보여주기 위해 반복적으로 반복되는 진행률 표시줄을 만드세요.

PHPzhong

Swoole을 사용할 수 있는지, 즉 Excel을 업로드한 후 레코드 수를 가져온 다음 Swoole을 사용하여 SQL을 직접 가져올 수 있는지 모르겠습니다. 데이터베이스의 레코드 수를 계산하여 현재 페이지의 진행률을 확인할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!