IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Dossier et sous-dossiers


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Dossier et sous-dossiers
    Bonjour,

    Voilà dans une partie administration d'un site j'ai composer avec des morceaux de code un formulaire d'upload d'images dans un dossier avec affichage et possibilité de supprimé les images seulement je voudrais savoir comment faire pour pouvoir créer des sous-dossiers et uploader des images dans ces sous-dossiers après l'avoir sélectionné ?

    Le code de ma page d'administration :
    Code : 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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <?php
    $page_texte .='<p style="text-align:center; font-style:italic; color:#C00;">Uploader uniquement des fichiers de type <b>png, gif, jpg, jpeg ou bmp</b>.<br /><u>Taille maximum des images en pixels :</u> <b>500 X 500</b><br /><u>Poid maximum des images en Mo :</u> <b>2</b></p>';
     
    $dossier = 'Galerie/';
    $fichier = basename($_FILES['image']['name']);
    $taille_maxi = 100000;
    $taille = filesize($_FILES['image']['tmp_name']);
    $extensions = array('.png', '.PNG', '.gif','.GIF', '.jpg', '.JPG', '.jpeg', '.JPEG',  '.bmp', '.BMP',);
    $extension = strrchr($_FILES['image']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = '<p style="text-align:center; font-style:italic; color:#C00;">Merci de respecter les instructions ci-dessus.</p>';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              $page_texte .= '<p style="text-align:center; font-style:italic; color:#C00;">Upload effectué avec succès !</p>';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              $page_texte .= '<p style="text-align:center; font-style:italic; color:#C00;">Echec de l\'upload !</p>';
         }
    }
    else
    {
        $page_texte .=  $erreur;
    }
    $page_texte .='<form method="POST" action="index.' . EXT . '?page=Admin_Galerie" enctype="multipart/form-data" style="text-align:center;">
         <!-- On limite le fichier à 2Mo -->
         <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
         Fichier : <input type="file" name="image"><br />
         <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>';
     
    //-------------------- suppression des images uploader ------------------------------------------
    //-----------------------------------------------------------------------------------------------
    $adresse = "./Galerie/"; //Adresse du dossier.
    if(isset($_GET['nom'])) //Si $_GET['nom'] existe, on supprime le fichier...
    {
         if ($Fichier != "." && $Fichier != "..") 
         {
              $nom=''.$adresse.''.$_GET['nom'].'';
              unlink($nom);
              $page_texte .= '<p style="text-align:center; font-style:italic; color:#C00;">Le fichier "'.$_GET['nom'].'" a été éffacé !</p><br>';
         }
    } 
     
    $page_texte .= '<fieldset><legend>Image de la galerie</legend><br /><br /><p align="center">';
    $dossier = opendir($adresse);
    while ($Fichier = readdir($dossier)) 
    {
      if ($Fichier != "." && $Fichier != "..") 
      {
    	  $i++;
    		// On peut afficher l'image.
    		$page_texte .='<a href="index.php?page=Admin_Galerie&amp;nom='.$Fichier.'">Supprimer</a> ==> <img src='.$adresse.$Fichier.' width="100" height="100" /></a>&nbsp;&nbsp;';
    		if($i == 4){
    			$i = 0;
    			$page_texte .="<br/><br />";
    		}
      }
    }
    $page_texte .='</p></fieldset>';
    closedir($dossier); //Fermeture du dossier.
    ?>
    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    La fonction mkdir permet de créer des dossier.

    http://www.php.net/manual/fr/ref.filesystem.php

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour la réponse !

    J'ai vu que mkdir permet de créer des dossiers mais en fait je cherche a faire a partir du script ci-dessus un systeme ou je puisse choisir le dossier de destination de l'image uploder !

    Pour la création des dossiers je verrai ça plus tard !


Discussions similaires

  1. Comment lister dossiers et sous dossiers
    Par sword999 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 11/08/2006, 11h36
  2. Lister sous-dossiers d'un dossier défini
    Par mathieumg dans le forum C
    Réponses: 10
    Dernier message: 19/07/2006, 10h20
  3. lister dossier et sous dossier
    Par wabit dans le forum C
    Réponses: 6
    Dernier message: 06/06/2006, 16h48
  4. [VB6]lister les dossiers et sous dossier
    Par Jacen dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/04/2006, 08h06
  5. Réponses: 4
    Dernier message: 25/04/2006, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo