<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); */
コメント