이 글에서는 PHP에서 여러 파일을 업로드하는 몇 가지 간단한 방법을 소개합니다.
본 지식 콘텐츠를 소개하기에 앞서, 이전 글에서 PHP에서 단일 파일 구현에 대해 자세히 소개한 바 있습니다. [PHP 파일 업로드 방법 및 정보 분석에 대한 자세한 설명#🎜🎜 #] 구체적인 업로드 방법은 오늘 소개할 지식포인트와 관련된 글이니 필요하신 분들은 먼저 참고하시면 될 것 같습니다.
아래에서는 특정 코드 예제를 통해 PHP에서 여러 파일을 업로드하는 몇 가지 간단한 방법을 소개합니다.첫 번째 방법: 단일 파일 업로드 방법 사용
간단한 양식 코드는 다음과 같습니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> 选择文件进行上传: <input type="file" name="file1"> 选择文件进行上传: <input type="file" name="file2"> 选择文件进行上传: <input type="file" name="file3"> <input type="submit" value="上传"> </form> </body> </html>
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_FILES);
여기서는 그림의 2차원 배열을 얻습니다. 여러 파일을 업로드하려면 foreach 루프를 통해 구현해야 합니다.
그러면 upload.php의 전체 코드는 다음과 같습니다.
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_FILES); $files = []; foreach ($_FILES as $fileInfo) { $files[] = upload_file($fileInfo); } var_dump($files); function upload_file($fileInfo, $upload = "./upload", $imagesExt = ['gif', 'png', 'jpg']) { if ($fileInfo['error'] === 0) { $ext = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $imagesExt)) { return "文件非法类型"; } if (!is_dir($upload)) { mkdir($upload, 0777, true); } $fileName = md5(uniqid(microtime(true), true)) . "." . $ext; $destName = $upload . "/" . $fileName; if (!move_uploaded_file($fileInfo['tmp_name'], $destName)) { return "文件上传失败!"; } return "文件上传成功!"; } else { switch ($fileInfo['error']) { case 1: echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值'; break; case 2: echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值'; break; case 3: echo '文件只有部分被上传'; break; case 4: echo '没有文件被上传'; break; case 6: echo '找不到临时文件夹'; break; case 7: echo '文件写入失败'; break; } } }
마지막으로 업로드할 여러 파일을 선택하면 결과는 아래와 같습니다.
# ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이번에는 , 여러 파일이 성공적으로 구현되었습니다. 업로드 작업이 끝났습니다.
두 번째 방법: HTML5에서 다중 방법 사용
#🎜🎜 #The 여러 파일을 업로드하기 위한 HTML 인터페이스의 코드 예는 다음과 같습니다. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
选择文件进行上传: <input type="file" name="file[]" multiple=""><br>
<input type="submit" value="上传">
</form>
</body>
</html>
#🎜 🎜##🎜 🎜#여기 양식에서는
HTML 5 의 multiple 속성을 사용합니다. 즉, 이 속성을 선택하면 입력 필드가 여러 값을 선택할 수 있음을 나타냅니다. 필드는 여러 값을 허용할 수 있습니다. 다중은 다중 파일 업로드를 구현하는 데 중요한 속성입니다. 동시에 입력의 이름을 file[] 배열로 설정합니다.
그런 다음 아래와 같이 업로드할 여러 파일을 선택합니다.
#🎜 🎜#
사진과 같이 3장의 사진을 선택한 후, 다음의 upload.php 파일을 이용하여 3장의 데이터를 받아왔습니다.
upload.php 코드 예시는 다음과 같습니다.
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_FILES); $files = []; foreach ($_FILES as $fileInfo) { $files[] = upload_file($fileInfo); } var_dump($files); function upload_file($fileInfo, $upload = "./upload", $imagesExt = ['gif', 'png', 'jpg']) { if ($fileInfo['error'] === 0) { $ext = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $imagesExt)) { return "文件非法类型"; } if (!is_dir($upload)) { mkdir($upload, 0777, true); } $fileName = md5(uniqid(microtime(true), true)) . "." . $ext; $destName = $upload . "/" . $fileName; if (!move_uploaded_file($fileInfo['tmp_name'], $destName)) { return "文件上传失败!"; } return "文件上传成功!"; } else { switch ($fileInfo['error']) { case 1: echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值'; break; case 2: echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值'; break; case 3: echo '文件只有部分被上传'; break; case 4: echo '没有文件被上传'; break; case 6: echo '找不到临时文件夹'; break; case 7: echo '文件写入失败'; break; } } }
사진을 보면 업로드된 파일 정보가 이름, 이름, 3개 이미지의 종류, 임시 저장 위치 경로, 크기, 기타 정보가 각각 배열에 배치됩니다.
그러나 upload.php 파일의 정보 파싱 방식은 multiple 속성으로 업로드된 파일에는 아무런 영향을 미치지 않는 것을 확인할 수 있습니다.
따라서 이 기사에서는 먼저 PHP를 사용하여 다중 속성을 사용하여 다중 파일 업로드를 구현하는 두 가지 간단한 방법을 소개합니다. 후속 기사에서는 PHP가 다중 파일 업로드를 구현하는 방법을 계속해서 자세히 소개할 것입니다. . 그리고 정보분석은 두 번째 방법에 대한 자세한 설명입니다!
PHP에 대해 더 알고 싶다면 PHP 중국어 웹사이트
PHP 비디오 튜토리얼을 따라가세요. 참고하시고 공부하실 분들 모두 환영합니다!
위 내용은 PHP로 여러 파일을 업로드하는 간단한 방법은 무엇입니까? (사진 + 동영상)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!