Bonjour,

Je suis retraité “Infographiste” et j’ai développé un site personnel une sorte de “biographie pour mes descendants”.

J’ai créé dans ce site un formulaire où je demande des docs photos et videos aux personnes ayant fait des voyages avec mon épouse et moi même.

Le formulaire est en HTML et PHP. Or si les champs “texte” semblent fonctionner, il n’en est pas de même pour les champs “fichiers”.

La réponse est :

Warning: move_uploaded_file(uploads/MetreLaser.png): Failed to open stream: No such file or directory in /volume1/web/Pages/Formul.php on line 42 Call Stack: 0.0018 359224 1. {main}() /volume1/web/Pages/Formul.php:0 0.0021 359800 2. move_uploaded_file($from = '/volume1/@tmp/phpdtexk1', $to = 'uploads/MetreLaser.png') /volume1/web/Pages/Formul.php:42 Warning: move_uploaded_file(): Unable to move "/volume1/@tmp/phpdtexk1" to "uploads/MetreLaser.png" in /volume1/web/Pages/Formul.php on line 42 Call Stack: 0.0018 359224 1. {main}() /volume1/web/Pages/Formul.php:0 0.0021 359800 2. move_uploaded_file($from = '/volume1/@tmp/phpdtexk1', $to = 'uploads/MetreLaser.png') /volume1/web/Pages/Formul.php:42
Je vous fais grâce du “champ Video” qui donne le même résultat.

J’ai alors lu récemment sous différente plate-forme qu’avec (move_uploaded_file) il y avait parfois des problèmes notammen avec "Ngnix". J’ai acheté un tas de bouquins, téléchargé des tutos, rien ne va alors, j’espère trouver une âme charitable pouvant me sortir dans mon impasse.

Matériels : iMac 27”, macOS v. 13.0.1 “Ventura” -:- Logiciel : “Dreamweaver CC” (PHP 7.1) -:- Hébergement : serveur Synology “Ngnix” DMS 7.1.1-42962 Update 2 (PHP 8.0), possibilité de PHP 7.2, 7.3, 7.4. -:- Ethernet Fibre 1 Gb -:- LiveBox 5 -:- Connexions de tous les appareil en LAN RJ45 (DHCP statiques)

Je lance donc un appel aux plus compétents que moi et reste bien sûr à disposition pour toutes questions nécessaires.
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
48
49
50
51
52
53
54
55
56
57
58
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Traitement</title>
</head>
 
<body>
    <p>Dans le formulaire, ont été fourni les informations suivantes :</p>
 
    <?php
//Coordonnées
        echo 'Nom : ' .$_POST["nom"]. '<br>';
        echo 'Prénom : ' .$_POST["prenom"]. '<br>';
        echo 'Adresse mail : ' .$_POST["courriel"]. '<br>';
        echo 'Téléphone : ' .$_POST["mobile"]. '<br>';
    
    
  // Tester l'envoi
    if (isset($_FILES['docs']) and $_FILES['docs']['error'] == 0);
    if (isset($_FILES['video']) and $_FILES['video']['error'] == 0)
{
  // Tester les tailes
    if ($_FILES['docs']['size'] <= 1000000);
    if ($_FILES['video']['size'] <= 6000000)
{
   // Tester les extensions
        $infosfichier = pathinfo($_FILES['docs']['name']); 
        $extension_upload = $infosfichier['extension'];
        $extension_autorisee = array('txt', 'jpg', 'jpeg', 'pdf', 'gif', 'png');
    
     if (in_array($extension_upload, $extension_autorisee));
        
    $infosfichier = pathinfo($_FILES['video']['name']); 
        $extension_upload = $infosfichier['extension'];
        $extension_autorisee = array('mp3', 'mp4', 'mov');
    
     if (in_array($extension_upload, $extension_autorisee))
{
    // Valider et Envoyer
         move_uploaded_file($_FILES['docs']['tmp_name'], 'uploads/' .
         basename($_FILES['docs']['name']));
         
         move_uploaded_file($_FILES['video']['tmp_name'], 'uploads/' .
         basename($_FILES['video']['name']));
{
         
         echo 'Sélectionnez : ' .$_POST["select"]. '<br>';
         echo 'Date : ' .$_POST["date"]. '<br>';
        
{        
         echo "l'envoi a bien été effectué, Merci !";
         
     // header("Location:ForMerci.html");
         
}}}}}
     
    ?>