質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

2142閲覧

ajaxでファイルをアップロードする際にエラーが出てしまう

web11

総合スコア52

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/07/13 06:24

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;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

data.append("file", files[0]);

が、こうでは?

javascript

1data.append("files", files[0]);

投稿2020/07/13 06:33

yambejp

総合スコア114784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

web11

2020/07/13 07:02

単純にタイプミス... 素早い回答、ありがとうございます。 ベストアンサーに選ばせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問