検索
ホームページウェブフロントエンドライユイのチュートリアル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 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
無限のスクロールにLayUIのフローモジュールを使用するにはどうすればよいですか?無限のスクロールにLayUIのフローモジュールを使用するにはどうすればよいですか?Mar 18, 2025 pm 01:01 PM

この記事では、無限のスクロール、セットアップ、ベストプラクティス、パフォーマンスの最適化、および強化されたユーザーエクスペリエンスのカスタマイズをカバーするためにLayUIのフローモジュールを使用して説明します。

LayUIの要素モジュールを使用して、タブ、アコーディオン、および進行状況バーを作成するにはどうすればよいですか?LayUIの要素モジュールを使用して、タブ、アコーディオン、および進行状況バーを作成するにはどうすればよいですか?Mar 18, 2025 pm 01:00 PM

この記事では、LayUIの要素モジュールを使用して、タブ、アコーディオン、プログレスバーなどのUI要素を作成およびカスタマイズする方法を詳しく説明します。

LayuiのCarouselモジュールの外観と動作をカスタマイズするにはどうすればよいですか?LayuiのCarouselモジュールの外観と動作をカスタマイズするにはどうすればよいですか?Mar 18, 2025 pm 12:59 PM

この記事では、LayuiのCarouselモジュールのカスタマイズについて説明し、遷移効果、自動再生設定、カスタムナビゲーションコントロールの追加など、外観と行動のためのCSSとJavaScriptの変更に焦点を当てています。

LayuiのCarouselモジュールを使用して画像スライダーを作成するにはどうすればよいですか?LayuiのCarouselモジュールを使用して画像スライダーを作成するにはどうすればよいですか?Mar 18, 2025 pm 12:58 PM

この記事では、LayuiのCarouselモジュールを画像スライダーに使用し、セットアップの手順、カスタマイズオプションの実装、自動再生とナビゲーションの実装、およびパフォーマンス最適化戦略についてガイドします。

ファイルの種類とサイズを制限するようにLayUIのアップロードモジュールを構成するにはどうすればよいですか?ファイルの種類とサイズを制限するようにLayUIのアップロードモジュールを構成するにはどうすればよいですか?Mar 18, 2025 pm 12:57 PM

この記事では、LayUIのアップロードモジュールの設定を、受け入れ、ext、サイズのプロパティを使用してファイルの種類とサイズを制限し、違反のエラーメッセージをカスタマイズすることについて説明します。

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文字)

典型的なWebアプリケーションを超えたLayUIのいくつかの高度なユースケースは何ですか?典型的なWebアプリケーションを超えたLayUIのいくつかの高度なユースケースは何ですか?Mar 14, 2025 pm 07:28 PM

LayUIは、基本的なWebアプリを超えてスパ、リアルタイムのダッシュボード、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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン