Bonjour, je souhaite drop un fichier dans un textarea, puis l'envoyer sur le serveur; j'ai réussi la partie drop avec l'aide de ChatGPT, cependant il doit manquer quelque chose car je n'arrive pas à récupérer les informations du drop sur le fichier upload.php.

Le fichier index.php

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="description" content="">
    <meta name="keywords" content="">
    <title>BBCode</title>
    <link rel="shortcut icon" type="image/x-icon" href="./favicon.png">
    <link rel="icon" type="image/x-icon" href="./favicon.png" />
</head>
<body>
 
<div id="maDiv"></div>
<br />
 
<textarea id="myTextarea" name="description" style="height:300px;width: 923px;"></textarea>
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 
<script>
var textarea = document.getElementById("myTextarea");
 
textarea.addEventListener("dragover", function(e) {
  e.preventDefault();
});
 
textarea.addEventListener("drop", function(e) {
  e.preventDefault();
  var file = e.dataTransfer.files[0];
  var formData = new FormData();
  formData.append("file", file);
  fetch("upload.php", {
    method: "POST",
    body: formData
  });
 
  $.post("upload.php" ,{ url:$(this).val() } ,function(data){
    var maDiv = document.getElementById("maDiv");
    maDiv.innerHTML = data;
  });
 
});
 
</script>
 
</body>
</html>

Le fichier upload.php

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
  $currentLocation = $_FILES['file']['tmp_name'];
  $newLocation = 'upload/' . $_FILES['file']['name'];
 
  echo ('Nom du fichier : '.$_FILES['file']['name'].'<br />');
 
  if (move_uploaded_file($currentLocation, $newLocation)) {
    echo ('Le fichier a été déplacé avec succès.');
  } else {
    echo ('Il y a eu une erreur lors du déplacement du fichier.');
  }
 
?>

Merci pour votre aide.