summernoteというプラグイン内のコールバック処理の画像をアップロードした際にajaxを走らせphpに画像を渡して、アップロードする処理を書いているのですが、何故かUndefined index: files inでてエラーになってしまいます。
ただ、formのボタン等で受け渡す際は問題なくアップロードできます。
回答よろしくお願いします。
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="utf-8"> 5<meta http-equiv="X-UA-Compatible" content="IE=edge"> 6<meta name="viewport" content="width=device-width, initial-scale=1"> 7<title>test</title> 8<!-- Bootstrap --> 9<link href="css/bootstrap.min.css" rel="stylesheet"> 10<link href="css/summernote.min.css" rel="stylesheet"> 11<link href="css/style.css" rel="stylesheet"> 12<link rel="shortcut icon" href="images/common/favicon.ico"> 13<link rel="apple-touch-icon" href="images/common/apple-touch-icon.png"> 14<link rel="icon" type="image/png" href="images/common/android-chrome-256x256.png"> 15</head> 16<body> 17<div class="container container_st"> 18 <form action="test.php" method="post" enctype="multipart/form-data"> 19 <textarea class="form-control" id="detail" name="detail" rows="5"></textarea> 20 <button class="btn btn-primary">作成</button> 21 <button class="btn btn-danger">削除</button> 22 </form> 23</div> 24<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 25<script src="js/jquery-3.4.1.min.js"></script> 26<!-- Include all compiled plugins (below), or include individual files as needed --> 27<script src="js/popper.min.js"></script> 28<script src="js/bootstrap.min.js"></script> 29<script src="js/summernote.min.js"></script> 30<script src="js/summernote-ja-JP.min.js"></script> 31<script> 32 $(document).ready(function() { 33 $('#detail').summernote({ 34 35 callbacks: { 36 onImageUpload: function(files) { 37 data = new FormData(); 38 data.append("file", files[0]); 39 console.log(files[0].name); 40 $.ajax({ 41 /*data: data,*/ 42 data: data, 43 type: "POST", 44 url: "test.php", 45 cache: false, 46 contentType: false, 47 processData: false 48 /*success: function(url) { 49 console.log(data); 50 //console.log(files[0].name); 51 //アップロードが成功した後の画像を書き込む処理 52 $('#detail').summernote('insertImage',files[0].name); 53 }*/ 54 }).done(function(url) { 55 console.log(url); 56 // ... 57}); 58 } 59 } 60 }); 61}); 62 </script> 63</body> 64</html>
php
1<?php 2$tempfile = $_FILES['files']['tmp_name']; 3$files = $_FILES['files']['name']; 4 5if(is_uploaded_file($tempfile)){ 6 if(move_uploaded_file($tempfile,$files)){ 7 echo $files."をアップロードしました。"; 8 9 }else{ 10 echo "アップロード出来ませんでした"; 11 } 12}else{ 13 echo "ファイルが選択されていません"; 14} 15exit;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/13 07:02