PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 19-09-2018 21:35:07

cedric0000
Membre
Inscription : 11-09-2018
Messages : 2

Warning: mkdir(): No such file or directory in...

salut a tous! j'ai un souci au niveau de ma fonction mkdir. elle ne créer pas le repertoire de sauvegarde de fichier comme prévu mais mon fichier uploader vers ce repertoire lui s'enregistre bien dans la base de donnée.  voila mon bout de script et déja merci pour l'aide que vous pourrez m'apportez

dossier de mon script: dossier racine
dossier 'documents': dossier racine/documents ( s'il n'existe pas, il est crée)


  if (isset($_POST['partager'])) {

    if (empty($_POST['document'])) {

      $_SESSION['flash']['danger'] = "veuillez inserer un document";
    }
    if (empty($_POST['categorie'])) {

      $_SESSION['flash']['danger'] = "veuillez choisir le type de document que vous partagez";
     }
      else{
            $categorie = $_POST['categorie'];

            $dossier_utilisateur ='documents/'.$_SESSION['auth']->pseudo.'/'.$categorie;

              if (is_dir($dossier_utilisateur)) {

            $document_dest = $dossier_utilisateur.'/'.$nom_doc;

              }
              else{
                mkdir($dossier_utilisateur);
                $document_dest = $dossier_utilisateur.'/'.$nom_doc;
              }
         
          }
 


Hors ligne

#2 21-09-2018 14:26:35

ManicoW
Cowrespondant
Lieu : Tours
Inscription : 08-05-2009
Messages : 192
Site Web

Re : Warning: mkdir(): No such file or directory in...

Bonjour,

Par defaut mkdir ( http://fr2.php.net/mkdir ) n'est pas récursif. Ca veux dire que pour créer 'documents/'.$_SESSION['auth']->pseudo.'/'.$categorie il faut déjà que 'documents/'.$_SESSION['auth']->pseudo existe (ainsi que documents d'ailleurs). Il faudrait donc déjà vérifier ce point, ou activer l'option récursive (cf documentation)

Au passage, petite remarque de sécurité, ça serait une bonne idée de vérifier le contenu de $categorie via une regex (histoire d'éviter les  / ou pire encore les ../ qui permettraient de remonter l'arborescence).

@+


la v2, c'est tabou, on en viendra tous a bout

Hors ligne

Pied de page des forums