찾다
웹 프론트엔드레이이 튜토리얼layui+php는 여러 파일 업로드를 구현합니다(코드 포함).

layui+php는 여러 파일 업로드를 구현합니다(코드 포함).

效果:

layui+php는 여러 파일 업로드를 구현합니다(코드 포함).

HTML代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- 兼容 -->
		<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
		<!-- 引入layui样式 -->
		<link rel="stylesheet" href="layui/css/layui.css">
		<!-- 引入layui js -->
		<script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
		<!-- 引入jquery -->
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
		<!-- 引入bootstrap样式 -->
		<link rel="stylesheet" href="bootstrap/css/bootstrap.css">
		<!-- 引入bootstrap js -->
		<script src="bootstrap/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
	</head>
 
	<body>
		<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
			<legend>多文件</legend>
		</fieldset>
 
		<div class="layui-upload">
			<button type="button" class="layui-btn" id="uploadId">选择上传文件</button>
			<div class="layui-inline layui-word-aux">
			</div>
			<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
				预览图:
				<div class="layui-upload-list" id="show"></div>
			</blockquote>
		</div>
		<script type="text/javascript">
			layui.use(&#39;upload&#39;, function() {
				var upload = layui.upload,
					$ = layui.jquery;
				var uploadInst = upload.render({
					elem: &#39;#uploadId&#39;,
					accept: &#39;file&#39;, //指定允许上传时校验的文件类型,可选值有:images(图片)、file(所有文件)、video(视频)、audio(音频)
					multiple: &#39;true&#39;,
					url: &#39;http://localhost/guanwnag/php/up.php&#39;,
					before: function(obj) {
						//预读本地文件示例,不支持ie8
						obj.preview(function(index, file, result) {
							if ((file.type).indexOf("image") >= 0) {
								$(&#39;#show&#39;).append(&#39;<img class="layui-upload-img lazy"  src="/static/imghwm/default1.png"  data-src="&#39; + result + &#39;"   alt="&#39; + file.name +
									&#39;"  style="max-width:100%">&#39;)
							} else {
								$(&#39;#show&#39;).append(file.name)
							}
							// console.log(file);
 
						});
					},
					done: function(res) {
						layer.msg(res.msg, {
							time: &#39;5000&#39;,
							tipsMore: true,
							zIndex: &#39;2&#39;
						});
 
					},
					allDone: function(obj) { //当文件全部被提交后,才触发
						$(&#39;.layui-word-aux&#39;).append("执行完毕,文件总数:" + obj.total + "成功:" + obj.successful + "个,失败:" + obj.aborted + "个");
						console.log(obj.total); //得到总文件数
						console.log(obj.successful); //请求成功的文件数
						console.log(obj.aborted); //请求失败的文件数
					},
					error: function() {
 
						//请求异常
					}
 
				});
			});
		</script>
	</body>
 
</html>

PHP代码:

<?php
    header("Access-Control-Allow-Origin: *"); //解决跨域
    header(&#39;Access-Control-Allow-Methods:post&#39;);// 响应类型
    date_default_timezone_set(&#39;PRC&#39;);//获取当前时间
//上传文件目录获取
$month = date(&#39;Ym&#39;, time());
define(&#39;BASE_PATH&#39;, str_replace(&#39;\\&#39;, &#39;/&#39;, realpath(dirname(__FILE__).&#39;/&#39;))."/");
$dir = BASE_PATH."upload/".$month."/";
 
//初始化返回数组
$arr = array(
&#39;code&#39; => 0,
&#39;msg&#39;=> &#39;&#39;,
&#39;data&#39; =>array(
     &#39;src&#39; => $dir . $_FILES["file"]["name"]
     ),
);
 
$file_info = $_FILES[&#39;file&#39;];
 $file_error = $file_info[&#39;error&#39;];
if (!is_dir($dir)) {//判断目录是否存在
    mkdir($dir, 0777, true);//如果目录不存在则创建目录
};
$file = $dir.$_FILES["file"]["name"];
if (!file_exists($file)) {
    if ($file_error == 0) {
        if (move_uploaded_file($_FILES["file"]["tmp_name"], $dir. $_FILES["file"]["name"])) {
            $arr[&#39;msg&#39;] ="上传成功";
        } else {
            $arr[&#39;msg&#39;] = "上传失败";
        }
    } else {
        switch ($file_error) {
            case 1:
           $arr[&#39;msg&#39;] =&#39;上传文件超过了PHP配置文件中upload_max_filesize选项的值&#39;;
                break;
            case 2:
              $arr[&#39;msg&#39;] =&#39;超过了表单max_file_size限制的大小&#39;;
                break;
            case 3:
               $arr[&#39;msg&#39;] =&#39;文件部分被上传&#39;;
                break;
            case 4:
              $arr[&#39;msg&#39;] =&#39;没有选择上传文件&#39;;
                break;
            case 6:
                $arr[&#39;msg&#39;] =&#39;没有找到临时文件&#39;;
                break;
            case 7:
            case 8:
               $arr[&#39;msg&#39;] = &#39;系统错误&#39;;
                break;
        }
    }
} else {
    $arr[&#39;code&#39;] ="1";
    $arr[&#39;msg&#39;] = "当前目录中,文件".$file."已存在";
}
 
echo json_encode($arr);

更多layui知识请关注 layui使用教程 栏目。

위 내용은 layui+php는 여러 파일 업로드를 구현합니다(코드 포함).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
무한 스크롤링에 Layui의 흐름 모듈을 어떻게 사용합니까?무한 스크롤링에 Layui의 흐름 모듈을 어떻게 사용합니까?Mar 18, 2025 pm 01:01 PM

이 기사는 무한 스크롤, 커버 설정, 모범 사례, 성능 최적화 및 향상된 사용자 경험을위한 사용자 정의에 Layui의 Flow Module을 사용하는 것에 대해 설명합니다.

Layui의 요소 모듈을 사용하여 탭, 아코디언 및 진행 막대를 만드는 방법은 무엇입니까?Layui의 요소 모듈을 사용하여 탭, 아코디언 및 진행 막대를 만드는 방법은 무엇입니까?Mar 18, 2025 pm 01:00 PM

이 기사는 Layui의 요소 모듈을 사용하여 탭, 아코디언 및 진행 막대와 같은 UI 요소를 작성하고 사용자 정의하는 방법에 대해 자세히 설명합니다.

Layui의 회전식 모듈의 모양과 동작을 어떻게 사용자 정의합니까?Layui의 회전식 모듈의 모양과 동작을 어떻게 사용자 정의합니까?Mar 18, 2025 pm 12:59 PM

이 기사에서는 전환 효과, 자동 재생 설정 및 사용자 정의 탐색 컨트롤 추가를 포함하여 외관 및 동작을위한 CSS 및 JavaScript 수정에 중점을 둔 Layui의 회전 목마 모듈 사용자 정의에 대해 설명합니다.

Layui의 회전 목마 모듈을 사용하여 이미지 슬라이더를 만드는 방법은 무엇입니까?Layui의 회전 목마 모듈을 사용하여 이미지 슬라이더를 만드는 방법은 무엇입니까?Mar 18, 2025 pm 12:58 PM

이 기사는 이미지 슬라이더 용 Layui의 회전 목마 모듈 사용, 설정 단계, 사용자 정의 옵션, 자동 재생 및 내비게이션 구현 및 성능 최적화 전략을 사용하는 방법을 안내합니다.

파일 유형 및 크기를 제한하도록 Layui의 업로드 모듈을 어떻게 구성합니까?파일 유형 및 크기를 제한하도록 Layui의 업로드 모듈을 어떻게 구성합니까?Mar 18, 2025 pm 12:57 PM

이 기사에서는 Layui의 업로드 모듈 구성에 대해 논의하고, 승인, Exts 및 크기 속성을 사용하여 파일 유형 및 크기를 제한하고 위반에 대한 오류 메시지를 사용자 정의합니다.

Layui의 레이어 모듈을 사용하여 모달 창과 대화 상자를 만드는 방법은 무엇입니까?Layui의 레이어 모듈을 사용하여 모달 창과 대화 상자를 만드는 방법은 무엇입니까?Mar 18, 2025 pm 12:46 PM

이 기사는 Layui의 레이어 모듈을 사용하여 모달 창과 대화 상자를 만들고 설정, 유형, 사용자 정의 및 피하는 일반적인 함정을 자세히 설명하는 방법을 설명합니다.

Layui는 Bootstrap 및 Semantic UI와 같은 다른 CSS 프레임 워크와 어떻게 비교됩니까?Layui는 Bootstrap 및 Semantic UI와 같은 다른 CSS 프레임 워크와 어떻게 비교됩니까?Mar 14, 2025 pm 07:29 PM

단순성과 성능으로 알려진 Layui는 설계, 구성 요소 및 통합 편의성에 대한 부트 스트랩 및 시맨틱 UI와 비교됩니다. Layui는 모듈성 및 중국 지원에 뛰어납니다. (159 자)

일반적인 웹 응용 프로그램 이외의 Layui의 일부 고급 사용 사례는 무엇입니까?일반적인 웹 응용 프로그램 이외의 Layui의 일부 고급 사용 사례는 무엇입니까?Mar 14, 2025 pm 07:28 PM

Layui는 기본 웹 앱을 넘어 스파, 실시간 대시 보드, PWA 및 복잡한 데이터 시각화로 확장되어 모듈 식 설계 및 풍부한 UI 구성 요소를 사용하여 엔터프라이즈 수준의 사용자 경험을 향상시킵니다 (159 자)

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전