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 :

comparaison de fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut comparaison de fichier
    bonjour,
    je cale un peu sur un while .... ou un for ......

    je parcoure un dossier pour que, tant que mon fichier a le même nom qu'un fichier déjà existant, je le renomme
    ex:
    mon fichier à uploader : "image.jpg"
    mes fichiers présents :"image.jpg","1image.jpg","prout.jpg"
    étant donné que je veut rajouter un chiffre devant le fichier, il devrait donc, au final, s'appeler "2image.jpg"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     for ($i=0;$filename==$lejpg;$i++) { 
      $i.$lejpg;     
    	}
    voila,
    en fait, je n'arrive pas a m'imaginer la façon de faire ... c'est plutôt ça , le problème ....

    merci d'avance pour un piti coup de pouce

  2. #2
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Bonsoir.

    Est ce que tu peux mettre ton code, ça sera plus simple.
    Sinon pour une boucle for, c'est plus comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for($i = 0; $i < 20; $i++)
      {
          echo $i."<br />";
      }

  3. #3
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    alors, voila !
    j'avance un peu quand même ......
    je sais pas si ma solution est très "respectueuse" ... mais j'en ai trouvé une ;
    par contre j'ai encore un soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $filename ='/home/monsite/images/'.$lejpg;   
     
    	   $i=1;
    	  while (file_exists($filename)) { 
    	  $lejpg=$i.$lejpg; 
              $i++; 
    	  $filename =DIR.$lejpg;
    	  if(!file_exists($filename)) 
                                    { break; }
      						 }
    copy($_FILES['zimage']['tmp_name'],$lerep.$lejpg);
    echo "<center><b>Image copiée !</b></center> ";
    comme ça, ça fonctionne, mais ça incrémente pas comme je veux


    oups....pas fini....et j'ai validé ....vite, je re-édite

    mon image "image.jpg" : existe déjà; 1image.jpg aussi alors, elle s'appelle "21image.jpg" ...
    et si je recommence, la suivante s'appelle "321image.jpg" ..... "4321image.jpg" etc .....
    ça m'arrange pas trop , ça ......

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $filename ='/home/monsite/images/'.$lejpg;   
    $lejpg_raw = $lejpg;
    $i=1;
    while (file_exists($filename)) { 
        $lejpg=$i.$lejpg_raw; 
        $i++; 
        $filename =DIR.$lejpg;
        if(!file_exists($filename)) {
            break;
        }
    }
    copy($_FILES['zimage']['tmp_name'],$lerep.$lejpg);
    echo "<center><b>Image copiée !</b></center> ";

  5. #5
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    super !! merci, ça marche !!

    et j'ai rajouté une bricole :
    plutot que faire "1image.jpg","2image.jpg","3image.jpg" , je fais image1.jpg, image2.jpg, etc ...

    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
     
    $filename =DIR.$lejpg;   //DIR='/home/monsite/images/
    // je recupere l'extension, puis, le nom 'brut'
    $ext = strtolower(substr($lejpg, strrpos($lejpg, '.') + 1));
    $lejpg_raw = explode('.', $lejpg);
     
    $i=1;
    while (file_exists($filename)) { 
     
        $lejpg=$lejpg_raw[0].$i.'.'.$ext; 
        $i++; 
        $filename =DIR.$lejpg;
        if(!file_exists($filename)) {
            break;
        }
    }
    copy($_FILES['zimage']['tmp_name'],$lerep.$lejpg);
    echo "<center><b>Image copiée !</b></center> ";
    .... ah .... je m'aperçois en même temps que si j'ai un fichier du genre "mon.image.jpg" , ça va merdouiller a cause du point ......

    y'a pas une fonction qui recupere la chaine avant le point de l'extension de fichier....?

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Tu utilises le substr avec le troisième argument négatif ....

    Cad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    substr( $lejpg, 0, -(strlen($ext)+1) );
    Avec $ext l'extension du fichier lu dans ta boucle.

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

Discussions similaires

  1. Comparaison de fichiers text
    Par mick84m dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/07/2005, 16h48
  2. [Debutant(e)]comparaison de fichier : imprimer
    Par demostene dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 06/07/2004, 10h43
  3. Comparaison de fichiers Word
    Par Zelphalya dans le forum Langage
    Réponses: 5
    Dernier message: 20/10/2003, 15h15
  4. [langage] Comparaison de fichiers
    Par Jibees dans le forum Langage
    Réponses: 3
    Dernier message: 23/04/2003, 16h27
  5. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 11h49

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