Problème upload php

Résolu/Fermé
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022 - 22 août 2022 à 12:28
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022 - 23 août 2022 à 20:14

Bonjour à tous,

Je me permets de vous contacter car j’ai un petit problème avec l’upload de fichiers en php.

J’ai fait un formulaire où, notamment, un individu upload un fichier. Pour l’instant, je n’ai pas mis de contraintes de taille maximale, d’extension, etc. J’essaie juste de voir si cela fonctionne.

Voici un extrait du code du fichier de mon formulaire appelé soum.php

<form action="https://etudestudy.com/Ethique2023/fichiers/dossiers/formulaireauteur.php" method="post" enctype="multipart/form-data" name="formSaisie1" target="_self" onSubmit="return soumissionOk(this)">
[…]
<input name="piece" type="file" required="required" >
[…]
<input type="submit" style="width: 300px; height: 50px; font-size:30px;" name="envoyer" id="envoyer" value="Envoyer">

Les informations sont envoyées, à la base (appelée ETH_auteur) et au dossier de stockage présent dans le répertoire de mon site web (appelé articles), via un fichier appelé formulaireauteur.php

Voici un extrait du code du fichier de mon formulaire appelé Fichier formulaireauteur.php

$content_dir = 'articles/';
$tmp_file = $_FILES['piece']['tmp_name'];
is_uploaded_file($tmp_file );
$name_file = $_FILES['piece']['name'];
move_uploaded_file($tmp_file, $content_dir . $name_file) ;	$a="https://etudestudy.com/Ethique2023/fichiers/dossiers/articles";
$b=$name_file;
$c=$a.$b;
[…]
$spiece=$_FILES['piece']['name'];
[…]
,`piece`
[…]
'".$spiece."',

Via Filezilla, j’ai ouvert tous les droits, du dossier « articles », pour tester :

En conclusion, le nom du fichier et son extension apparaissent correctement dans ma base de données (ETH_auteur)

Mais le fichier n’est pas uploadé dans le dossier « articles »

Je n’arrive pas à voir mon erreur. Est-ce l’un d’entre vous aurait éventuellement une idée ?

Merci beaucoup et à bientôt

Bruno

Windows / Chrome 104.0.5112.102

A voir également:

2 réponses

jordane45 Messages postés 38185 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 4 671
22 août 2022 à 14:11

Bonjour,

Où se trouve ton dossier articles par rapport à ton script php ? au même niveau ?

N'hésites pas à utiliser un file_exists() pour voir si le chemin vers le dossier de destination est accessible ...

Tu peux aussi checker ses doits ( avec un is_writable() )

if(!file_exists($content_dir)){
  echo "Répertoire inconnu ou mauvais chemin";
} else{
  if (!is_writable($content_dir)) {
    echo "Le répertoire n'est pas accessible en écriture"!;
    exit;
  }
}

Regarde aussi si ta variable $_FILES ne contient pas d'erreur

if($_FILES["piece"]["error"]){
 echo "Erreur : " .  $_FILES["piece"]["error"] ;
 exit;
}

Pense aussi à faire un var_dump($_FILES);  pour voir ce qu'elle contient exactement...


0
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022
23 août 2022 à 20:14

Bonjour Jordane,

Merci beaucoup pour ta réponse.

Alors étrangement, avant de poster ma question, j'avais fait pleins de tests qui n'ont pas fonctionné. Hier, je me suis dis que j'allais faire toutes tes indications suite à ta réponse. Je me suis donc connecté à mon site, à ma base et je suis allé voir mon dossier et tout les fichiers uploadés "testés" y étaient (alors qu'ils n'y étaient pas). Je n'avais rien modifié. Du coup, je présume que j'ai peut être dû oublier de faire une actualisation ou autre.

Bref, ça fonctionne. Par contre, je suis en train de mettre en place tes indications pour vérifier. Je mettrai également des vérifications pour els extensions, la taille maximale des fichiers, etc.

Merci beaucoup pour ton aide

A bientôt

Bruno

0