- <html>
- <head>
- <meta charset="utf-8">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
- <script src="js/dropzone.js"></script>
- <style>
- li.dz {
- display: inline-block;
- margin:10px;
- background-color:#333;
- color:#fff;
- width:300px;
- height:300px;
- }
- </style>
- </head>
- <body>
- <form action="next.php" method="post" enctype="multipart/form-data">
- <input type="hidden" name="file_title">
- <input type="hidden" name="file_content">
- <input type="hidden" name="file_memo">
- <ul>
- <li id="dz-title" class="dz" data-name="title">
- dropzone
- </li>
- <li id="dz-content" class="dz" data-name="content">
- dropzone
- </li>
- <li id="dz-memo" class="dz" data-name="memo">
- dropzone
- </li>
- </ul>
- </form>
- <script>
- Dropzone.autoDiscover = false;
-
- $('.dz').each(function(i, elem) {
- $('#dz-' + $(elem).data('name')).dropzone({
- url: 'up.php',
- paramName: $(elem).data('name'),
- maxFiles: 1,
- maxfilesexceeded: function(file) {
- alert('アップロードできる画像は' + this.options.maxFiles + 'つです。');
- this.removeFile(file);
- },
- dictMaxFilesExceeded: 'アップロードできる画像は{{maxFiles}}つです。',
- success: function(file, result) {
- if (result == 'error') {
- alert('画像のアップロードに失敗しました。');
- this.removeFile(file);
- return;
- }
- $('input[name=file_' + $(elem).data('name') + ']').val(result);
- if (file.previewElement) {
- return file.previewElement.classList.add('dz-success');
- }
- },
- addRemoveLinks: true,
- dictRemoveFile: 'キャンセル',
- removedfile: function(file) {
- var thisDropzone = this;
- var postData = {};
-
- $.each($(elem).data(), function(j, data) {
- postData[j] = data;
- });
-
- $.ajax({
- url: 'remove.php',
- type: 'post',
- data: postData,
- cache: false,
- complete: function() {
- $('input[name=file_' + $(elem).data('name') + ']').val('');
-
- var _ref;
- if (file.previewElement) {
- if ((_ref = file.previewElement) != null) {
- _ref.parentNode.removeChild(file.previewElement);
- }
- }
-
- return thisDropzone._updateMaxFilesReachedClass();
- },
- error: function() {
- alert('画像の削除に失敗しました。');
- }
- });
- },
- });
- });
- </script>
- </body>
- </html>
- <?php
- if (!isset($_FILES) || count($_FILES) == 0) {
- // エラー処理
- echo 'error';
- exit;
- }
-
- // アップロード処理
-
- $key = key($_FILES);
-
- echo $key . '_' . date('Ymd_His') . '.jpg';
-
- /*
- * 配列で返したい場合は、jsonにエンコードする
- $result = [
- 'key' => $key,
- 'name' => $key . '_' . date('Ymd_His') . '.jpg',
- ];
-
- echo json_encode($result);
- */