changement nom d'un fichier

Eléphanteau du PHP | 18 Messages

29 févr. 2008, 18:23

bonsoir a tous
je souhaiterais changer le nom d'un fichier qui se trouve sur le serveur (normalement car je suis avec easyPHP) mais cela ne fonctionne pas et sa me saoul
voici le code:

Code : Tout sélectionner

$dir = "repertoire\\"; $dh = opendir($dir); $today = date("d.m.y.G.i.s"); while (false !== ($filename = readdir($dh))) { if ($filename=="." || $filename=="..") continue; else { $i=$i+"1" ; if(!rename($filename, $today.$filename)){ echo "Impossible de renommer."; } } }
help me svp

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 févr. 2008, 18:56

Et est ce qu'on peut savoir ce qui ne fonctionne pas ?

Est ce que php rentre dans ta boucle ?
Est ce qu'il rentre dans ton else ?
as-tu affiché les valeurs de tes variables pour contrôle ?
as-tu des messages d'erreur ?
quelle est la valeur de $i lorsque tu fais ton premier $i+"1" ?
pourquoi mettre un nombre entre guillemets pour le transformer en chaine et obliger php à le retransformer en nombre pour effectuer l'addition ?
...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 18 Messages

03 mars 2008, 09:46

bonjour
oui php rentre dans la boucle, il entre dans le else, j'ai afficher les variable et il me trouve les bon documents, je n'est aucun message d'erreur, et la valeur de $i est de 0 lors du premier passage et enfin pour les guillemets je ne n'est pas de réponse je pensé qu'il fallait des guillemets.

d0m
Mammouth du PHP | 1141 Messages

03 mars 2008, 09:56

Salut,

peux tu afficher ce que tu passe exactement dans les 2 paramètres?
Comme si on était on recevait la fonction avec les variables dans les paramètres déjà calculées :
$i=$i+1;
echo 'rename('.$filename.','.$today.$filename.')';
if(!rename($filename, $today.$filename)){
    echo "Impossible de renommer.";