<input type="file">
를 사용한 단일 파일 업로드로이 작업을 수행 한 경험이 있습니다
. 그러나 한 번에 둘 이상을 업로드하는 데 문제가 있습니다.
예를 들어 일련의 이미지를 선택한 다음 한 번에 서버에 업로드하고 싶습니다.
가능한 경우 단일 파일 입력 컨트롤을 사용하는 것이 좋습니다.
이 작업을 수행하는 방법을 아는 사람이 있습니까? 감사합니다!
- 답변 # 1
- 답변 # 2
여러 파일 업로드를 만들려면 몇 가지해야 할 것이 있습니다. Java, Ajax, Flash를 사용할 필요가 없습니다. 다음으로 시작하는 일반 파일 업로드 양식을 작성하십시오.
<form enctype="multipart/form-data" action="post_upload.php" method="POST">
그러면 성공의 열쇠입니다.
<input type="file" name="file[]" multiple />
대괄호를 잊지 마십시오! post_upload.php에서 다음을 시도하십시오 :
<?php print_r($_FILES['file']['tmp_name']); ?>
tmp_name 데이터가있는 배열을 얻습니다. 즉, 'number'예를 사용하여 세 번째 괄호 쌍으로 각 파일에 액세스 할 수 있습니다.
$_FILES['file']['tmp_name'][0]
php count ()를 사용하여 선택된 파일 수를 계산할 수 있습니다. 행운을 빕니다!
- 답변 # 3
Firefox 5의 전체 솔루션 :
<html> <head> </head> <body> <form name="uploader" id="uploader" action="multifile.php" method="POST" enctype="multipart/form-data" > <input id="infile" name="infile[]" type="file" onBlur="submit();" multiple="true" ></input> </form> <?php echo "No. files uploaded : ".count($_FILES['infile']['name'])."<br>"; $uploadDir = "images/"; for ($i = 0; $i < count($_FILES['infile']['name']); $i++) { echo "File names : ".$_FILES['infile']['name'][$i]."<br>"; $ext = substr(strrchr($_FILES['infile']['name'][$i], "."), 1); // generate a random new file name to avoid name conflict $fPath = md5(rand() * time()) . ".$ext"; echo "File paths : ".$_FILES['infile']['tmp_name'][$i]."<br>"; $result = move_uploaded_file($_FILES['infile']['tmp_name'][$i], $uploadDir . $fPath); if (strlen($ext) > 0){ echo "Uploaded ". $fPath ." succefully. <br>"; } } echo "Upload complete.<br>"; ?> </body> </html>
- 답변 # 4
찾아보기를 선택할 때 표시되는 파일 선택기 대화 상자에서 여러 파일을 선택하려면 대부분 운이 좋지 않습니다. Java 애플릿 또는 이와 유사한 것을 사용해야합니다 (작은 플래시 파일을 사용하는 파일이 있다고 생각합니다. 찾으면 업데이트합니다). 현재 단일 파일 입력은 단일 파일 만 선택할 수 있습니다.
여러 개의 파일 입력을 사용하는 것에 대해 이야기하는 경우 하나를 사용하는 것과 크게 다르지 않습니다. 코드를 게시하면 더 도와 드리겠습니다.
<시간>업데이트 : 플래시를 사용하는 단일 '찾아보기'버튼을 사용하는 한 가지 방법이 있습니다. 나는 이것을 개인적으로 사용한 적이 없지만 그것에 대해 상당한 금액을 읽었습니다. 가장 좋은 기회라고 생각합니다.
http://swfupload.org/
- 답변 # 5
처음에는 다음과 같이 양식을 작성해야합니다.
<form method="post" enctype="multipart/form-data" > <input type="file" name="file[]" multiple id="file"/> <input type="submit" name="ok" /> </form>
맞습니다. 이제이 코드를 양식 코드 또는 원하는 페이지에 추가하십시오
<?php if(isset($_POST['ok'])) foreach ($_FILES['file']['name'] as $filename) { echo $filename.'<br/>'; } ?>
쉬운데 ... 마침
관련 자료
- c# - 더 나은 성능을 위해 ParallelForEach 루프를 사용하여 SFTP 서버에 파일을 업로드하는 방법
- duktape - duk_pcall을 사용하여 전체 js 파일을 여러 번 실행하는 방법은 무엇입니까?
- python - boto3를 사용하여 S3에 파일을 업로드하려고 할 때 파일을 찾을 수 없습니다
- javascript - 클라이언트 측에서 여러 사진 선택 및 업로드
- node.js - Multer를 사용하여 동일한 mongodb 컬렉션의 여러 필드에서 파일을 업로드하는 방법
- shell script - 모든 것에 대해 단 한 번의 확인으로 rm을 사용하여 여러 파일을 삭제 하시겠습니까 (rm -i)?
- vue.js - Dropzone과 함께 Laravue를 사용하여 파일을 업로드하는 방법
- ajax - JavaScript를 사용하여 여러 선택 상자를 동적으로로드
- python - matplotlib를 사용하여 데이터 프레임에서 여러 변수를 플로팅하고 싶지만 최종 플롯이 너무 이상해 보입니다
- visual studio code - VSCode에서 eslint를 사용하여 파일을 작은 따옴표로 만드는 방법
- node.js - 미들웨어 기능없이 multer를 사용하여 S3에 업로드
- python - 여러 if 문을 사용하여 함수의 복잡성을 줄이는 방법
- javascript - shiny의 DT 패키지에서 선택 확장과 함께 제공되는 모두 선택 버튼을 사용하여 필터링 된 행만 선택합니다
- android - rxJava를 사용하여 AWS 서버에 여러 이미지 업로드
- BASH 셸 스크립팅에서 터미널에서 여러 파일을 가져 오는 방법
- awk - 기본 제공 UNIX 도구 중 하나를 사용하여 텍스트 범위 선택
- r - "across"를 사용하여 dplyr에서 여러 열 변경
- linux - 단일 명령에 여러 별칭 사용
- javascript - Nodejs에서 axios를 사용하는 다중 get 요청
- python - 팬더, 목록의 입력을 사용하여 날짜 선택
- javascript : JQUERY 자동 완성이 PHP 스크립트에서 반환 된 결과를 표시하지 않음
- php : mysql 데이터베이스에 단락을 저장하는 방법
- JavaScript와 Ajax를 사용하여 PHP 양식을 만들려고합니다. 하지만 작동하지 않는 경우 제출을 클릭하면 아무것도하지 않습니다. 이걸 도와주세요
- php : 구문 오류, 메소드 isset을 사용할 때 예기치 않은 'if'
- javascript : PHP 절전 기능이 내 HTML 페이지를 중지하지 않도록하려면 어떻게해야합니까?
- javascript : 유형 제출로 입력을 클릭 한 후 페이지를 다시로드하지 않고 PHP 페이지를 열지 않는 방법은 무엇입니까?
- php : HTML 태그를 일반 텍스트로 표시하는 방법 [중복]
- php : 장애인 선택의 경우 $ _POST
- javascript : WordPress에서 무작위 라인 생성기를 어떻게 작동합니까?
- 내 HTML /PHP 웹 사이트에서 멋지게 보이도록 JSON을 어떻게 구문 분석합니까?
HTML5에서 가능합니다. 예 (PHP 5.4) :
파일 대화 상자에서 2 개의 항목을 선택한 후 Chrome에서 다음과 같이 표시됩니다.
다음은 "업로드"버튼을 클릭 한 후의 모습입니다.
이것은 완전히 작동하는 답변의 스케치 일뿐입니다. PHP에서 파일 업로드를 적절하고 안전하게 처리하는 방법에 대한 자세한 내용은 PHP 설명서 : 파일 업로드 처리를 참조하십시오.