PHP 다중 파일 업로드
PHP에서 단일 파일을 업로드하는 과정을 소개합니다. 그러나 때로는 편의상 여러 파일을 동시에 업로드해야 하는 경우도 있습니다. 다중 파일 업로드의 원리는 동일하지만, 데이터 처리 시 업로드된 데이터를 특수하게 처리해야 합니다.
<html> <head> <meta charset="utf-8" /> <title>单文件上传</title> </head> <body> <form action="morefile.php" method="post" enctype="multipart/form-data"> <input type="file" name="file[]"> <input type="file" name="file[]"> <input type="submit" value="上传"> </form> </body> </html>
여기는 간단한 업로드 페이지가 있으며, 양식에서는 두 개의 파일을 동시에 제출합니다. 이 페이지를 통해 콘텐츠를 제출할 수 있습니다.
참고:
1. 입력 type="file" name="file[]" 이전과 비교하여 파일 뒤에 대괄호가 추가로 있습니다
2. 작성 2개 이상의 입력 type="file" name="file[]"
$_FILES를 사용하여 파일 정보를 받아 인쇄하고 배열을 봅니다.
<?php var_dump($_FILES); //打印$_FILES查看数组结构 ?>
배열 구조는 다음과 같습니다
array (size=1) 'file' => array (size=5) 'name' => array (size=2) //文件名 0 => string 'psu.jpg' (length=7) 1 => string 'qwe.jpg' (length=7) //文件mime类型 'type' => array (size=2) 0 => string 'image/jpeg' (length=10) 1 => string 'image/jpeg' (length=10) //缓存文件 'tmp_name' => array (size=2) 0 => string 'E:\wamp\tmp\phpF6D5.tmp' (length=23) 1 => string 'E:\wamp\tmp\phpF6F5.tmp' (length=23) //文件错误信息 'error' => array (size=2) 0 => int 0 1 => int 0 //文件大小 'size' => array (size=2) 0 => int 225824 1 => int 151651
두 개의 파일이 배열로 저장되어 있는 것을 확인할 수 있으며, 키 이름은 업로드된 단일 파일과 동일합니다. 따라서 두 파일에서 각각 필요한 데이터를 검색하려면 for() 루프를 사용해야 합니다.
두 파일의 데이터가 동시에 $_FILES에 저장됩니다. 단일 파일의 정보를 읽어서 원하는 위치로 파일을 이동하려면 간단한 루프를 사용해야 합니다.
rree자세한 판단 과정은 단일 파일 업로드를 참고해주세요. 여기서는 기본 판단만 이루어지며, 파일 크기나 형식에 대한 알림은 없습니다.
업종에 따라 파일 크기와 형식을 직접 판단하고 오류 알림을 제공하세요.