이 기사의 예에서는 PHP로 파일을 업로드하고 업로드 진행 상황을 표시하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
업로드할 때 파일을 더 크게 만드는 것을 잊지 마십시오. 그렇지 않으면 보기 전에 업로드될 것이며 업로드된 파일은 너무 크지 않아야 합니다. 2G를 시도했지만 PHP는 이를 견딜 수 없었습니다. 제가 테스트한 것은 300개였습니다. M이 너무 많습니다. 작은 php.ini 매개변수 "파일 선택 => 제출 => 정보 가져오기"를 한 번에 조정하는 것을 잊지 마세요 ^ ^
<?php $prefix = ini_get('session.upload_progress.prefix'); $name = ini_get('session.upload_progress.name'); $key = $prefix . $name; session_start(); if (isset($_POST['get_info'])) { $logo = $prefix . $_POST['logo']; exit(json_encode($_SESSION[$logo])); } elseif ($_POST) { echo '<script>var finashed = true;</script>'; } ?> <div id="show_info_div"></div> <form action="index.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="<?php echo $name; ?>" value="test"> <input type="file" name="file"><br> <input type="submit" value="提交"> <input type="button" value="获取信息" onclick="getUploadInfo()"> </form> <script src="jquery.js"></script> <script> var sto = null; var progress = null; function getUploadInfo() { $.post("index.php", {"get_info": 1, "logo": "test"}, function(data) { data = eval("(" + data + ")"); progress = parseInt(parseInt(data.bytes_processed) * 10000 / parseInt(data.content_length)) / 100 + "%"; document.getElementById("show_info_div").innerHTML = progress; sto = setTimeout("getUploadInfo()", 1000); }); } if (typeof(finashed) !== "undefined") { document.getElementById("show_info_div").innerHTML = "100.00% (上传成功!)"; } </script>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.