Incrémenter un fichier !! [Résolu]

Signaler
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour a tous !!



J'ai une fonction que je voudrais faire mais je n'arrive a rien.

Voila mon probléme : je dois déplacer un fichier d'un repertoire dans
un autre mais je voudrais que si le fichier a le même nom il soit
incrémenter.



exemple : repertoire bob avec un fichier toto.txt donc se fichier
devrait rejoindre le repertoire boby qui contient deja toto.txt donc le
nouveau toto devrait s'appeler toto1.txt.



Voila en esperant avoir été claire je vous remercie de votre aide car la je patoge merci !!

14 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
et ouais extension aussi, faut passer tout dans la fonction

$nom_fichier='fichier';
$nombre=0;

function renommer($fichier)
{
$extension='.jpg';
if(file_exists('./dossier/'.$fichier.'_'.$nombre.$extension))
{
$GLOBALS['nombre']++;
renommer($fichier);
}
else
{
$GLOBALS['nombre']=0;
copy('source','./dossier/'.$fichier.'_'.$nombre.$extension);
}
}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ça revient au même vu que je fais un appel à la fonction, mais le while est plus simple.

ça donnerait ça :

function renommer($fichier)
{
$nombre=0;
$extension='.jpg';
while(file_exists('./dossier/'.$fichier.'_'.$nombre.$extension))
{
$nombre++;
}
copy('source','./dossier/'.$fichier.'_'.$nombre.$extension);
}

ça devrait fonctionner.
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

$nom_fichier='fichier';
$nombre=0;
$extension='jpg';

function renommer($fichier)
{
if(file_exists('./dossier/'.$fichier.'_'.$nombre.$extension))
{
$nombre++;
renommer($fichier);
}
else
{
$nombre=0;
copy('source','./dossier/'.$fichier.'_'.$nombre.$extension);
}
}

c'est codé à l'arrache.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Je suis désolé car ca marche pas chez moi et en plus je pense que je ne suis pas assez clair donc je refais une explication.



Dossier "toto" contenant toto.txt



Dossier "tata" contenant deja toto.txt



Donc voila le programme envoie le toto.txt du dossier toto dans tata
mais comme toto.txt existe deja le nouveau devrait étre incrémenter
toto1.txt et bien sur le toto.txt du dossier toto est supprimer aprés
avoir été copier dans tata.



Merci a vous !!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Si tu veux un script tout fait je pense que tu peux passer ton chemin, je pense t'avoir donné les bases, recopier bêtement un script sans le comprendre c'est inutile.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007

vi je suis d'accord sur le principe mais quand j'utilise ton script ou
essaye de le modifier ca marche pas car il incremente pas donc voila.



merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
chan, tu peux faire de multiples echo dans son code pour afficher.... à
mon avis, t'as simplement oublié l'appel de la fonction....


et toi, antho, tu t'es planté sur les paramètres, la, $extention n'est pas passé...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Bon bas merci a vous mais j'arrive toujours a rien car quand le fichier
est copié il ne veut pas incrémenter il me dit que le fichier existe
deja !!



Merci a vous bye !
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
j'ai oublié un point effectivement ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
(quand je disais que c'était codé à l'arrache)

23h22 j'étais déjà mort

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>hCodes-php.net</li>
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Merci encore de ton aide mais y a toujours une erreur qui me dis que le
fichier existe deja en essayant ton code et en essayant aussi de
l'amméliorer car deja je pense que par renommer tu veux parler de
rename() enfin bref je m'en sors pas !!



merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
antho, c'est pas if file_exists, mais while file_exists parceque si t'as un rep :



a|-b

|-c

|-d|-a

|-b
|-e

|-c|-a

|-b

et bien, tu vas pas pouvoir copier b car t'as trois fichiers b...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
86
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Merci a vous ca marche nickel sauf que j'ai utilisé rename() et ca marche bien !!



Merci a vous
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
tu peux valider les réponses stp ? merci

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>