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 :

for() incrémentation d'un dossier ne fonctionne pas [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut for() incrémentation d'un dossier ne fonctionne pas
    bonjour à tous,

    voici mon script:
    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
     
    session_start();
    include '../bdd/bdd_biBelgium.php';
    $membreidentifiant1 = $_SESSION['data']['membreIdentifiant'];
     
    $select_profil = $bdd->prepare("SELECT membreId FROM membre WHERE membreIdentifiant=?  ");
    $select_profilExec = $select_profil->execute([$membreidentifiant1]);
    $row = $select_profil->fetch(PDO::FETCH_NUM);
    $membreId=$row[0];
     
    $dossier1 = '../upload/album_' . $membreId.$membreidentifiant1;// . '/'; //dossier: upload/album_IdMembre_nombre1à5/
     
    if (isset($_POST)) {
     
        //création d'un dossier dans site
     
       if(file_exists($dossier1)) {
            //si le dossier existe,on l'incrémente de 1
           for($dossier1=0;$dossier1<6;$dossier1++) {
     
               //echo'incrémentation réussie'.'<br>';
           }
        }
        else {  //s'il n'existe pas
            echo 'ajout dossier';
           mkdir($dossier1);
        }
     
        header('Refresh: 2; URL=../infos_biBelgium.php?page=photos ');
        //création de l'image sur la page
    j'essaye que mon dossier fasse ceci:
    ../upload/album_idDuMembreNomDuMembre1

    et qu'à chaque fois que le membre aura créé un dossier, il l'incrémente (max de 5).
    jusqu'à présent il me crée bien un dossier quand il n'existe pas, mais sans incrémentation

    quelqu'un pourrait-il m'aider svp?
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment veux-tu quand n'ayant indiqué nul part qu'il y avait un chiffre à la fin du nom du dossier quelque chose s'incremente ?
    C'est du PHP, pas de la magie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $path= '../upload/album_' . $membreId.$membreidentifiant1;
    $i = 1;
    While (file_exists($path . $i)) {
         ++$i;
    }
    if ($i < 5)  {
        mkdir($path.$i);
    }

  3. #3
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut
    merci sabotage mais entre temps j'ai trouvé la solution ^^:
    photo.php
    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
     
    include 'bdd/bdd_biBelgium.php';
    $membreidentifiant1 = $_SESSION['data']['membreIdentifiant'];
     
    $select_profil = $bdd->prepare("SELECT membreId FROM membre WHERE membreIdentifiant=?  ");
    $select_profilExec = $select_profil->execute([$membreidentifiant1]);
    $row = $select_profil->fetch(PDO::FETCH_NUM);
    $membreId=$row[0];
    $dossier1 = 'upload/album_' . $membreId.$membreidentifiant1.'0';
    $dossier2 = 'upload/album_' . $membreId.$membreidentifiant1.'1';
    $dossier3 = 'upload/album_' . $membreId.$membreidentifiant1.'2';
    $dossier4 = 'upload/album_' . $membreId.$membreidentifiant1.'3';
    $dossier5 = 'upload/album_' . $membreId.$membreidentifiant1.'4';
    ?>
     
    <script src="jquery-ui-1.10.4.custom/js/jquery-1.10.2.js"></script>
    <script src="jquery/jquery-ui-1.11.4.custom/jquery-ui.js"></script>
    <script src="js/ClicImage.js"></script>
     
    <!--création d'un album-->
    <div class="telechargement_photo">
        <form action="script/nouvelAlbum_sc_photos.php" method="post" class="NouveauDossier">
                <input type="submit" name="NouvelAlbum"  value="NouvelAlbum">
        </form>
     
     
     
    </div>
    <!-- affichage des dossier-->
    <?php
    if(is_dir($dossier1)) {//s'il trouve le dossier 0 il affiche l'image du dossier
        echo '<a href="infos_biBelgium.php?page=album1"><img  class="IMG" src="image/Nouveau3.jpg"></a>';
    }
    if(is_dir($dossier2)){
        echo '<a href="infos_biBelgium.php?page=album2"><img  class="IMG2" src="image/nouvelAlbum2.jpg"></a>';
    }
    if(is_dir($dossier3)){
        echo '<a href="infos_biBelgium.php?page=album3"><img  class="IMG3" src="image/nouvelAlbum3.jpg"></a>';
    }
    if(is_dir($dossier4)){
        echo '<a href="infos_biBelgium.php?page=album4"><img  class="IMG4" src="image/nouvelAlbum4.jpg"></a>';
    }
    if(is_dir($dossier5)){
        echo '<a href="infos_biBelgium.php?page=album5"><img  class="IMG5" src="image/nouvelAlbum5.jpg"></a>';
    }
    nouvelAlbum.php
    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
     
    session_start();
    include '../bdd/bdd_biBelgium.php';
    $membreidentifiant1 = $_SESSION['data']['membreIdentifiant'];
     
    $select_profil = $bdd->prepare("SELECT membreId FROM membre WHERE membreIdentifiant=?  ");
    $select_profilExec = $select_profil->execute([$membreidentifiant1]);
    $row = $select_profil->fetch(PDO::FETCH_NUM);
    $membreId=$row[0];
     
    $dossier1 = '../upload/album_' . $membreId.$membreidentifiant1.'0'; //dossier: upload/album_IdMembre
     
    if (isset($_POST)) {
     
     
        //création d'un dossier dans site
     
        if(is_dir($dossier1)) {
            $filenames = glob('../upload/album_' . $membreId . $membreidentifiant1 . '*');
            $length = count($filenames); //compte les dossiers
     
            if ($length <= 4) { //si dossier inférieur à 5
                $filename = substr($filenames[$length - 1], 0, -1) . $length;
                    mkdir($filename);
     
            }else{
                if($length=4){
                    echo 'vous ne pouvez plus créer de dossier';
                }
            }
     
            }else{
     
                    mkdir($dossier1);
     
            }
     
     
     
       header('Refresh: 2; URL=../infos_biBelgium.php?page=photos ');
        //création de l'image sur la page
     
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Incrémentation d'un compteur ne fonctionne pas.
    Par pdemeure dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/04/2012, 13h11
  2. [Batch] IF EXIST dossier NE FONCTIONNE PAS
    Par bezourox dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 21/05/2010, 13h34
  3. expression for ne fonctionne pas
    Par iks22 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/01/2007, 14h17
  4. Réponses: 3
    Dernier message: 02/12/2006, 16h10
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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