Page 1 sur 1

renommer un fichier

Posté : 15 janv. 2008, 17:15
par laure
bonjour
je sais pas si ca sera possible ou pas, mais bon, je perd rien si je vous le demande
j'ai un dossier sur mon ftp qui contient 1000 photos nommés de 1.jpg jusqu'a 1000.jpg
Mon problème, c'est que le nom des fichiers doit commencer par "med_" ...
C'est a dire, au lieu d'avoir :
1.jpg , il me faut med_1.jpg
2.jpg , il me faut med_2.jpg
....

Donc, je me demande s'il y'a une fonction sous php qui va me permettre de renommer tous mes fichiers automatiquement sans le faire à la main pour 1000 photos

Merci de votre réponse

Posté : 15 janv. 2008, 17:21
par Genova
Bonjour,
oui c'est très simple : tu parcours un dossier avec les fonctions opendir() + readdir() + closedir(), et tu renommes avec rename()

Par exemple :
<?php

$dir = 'tondossier/';
$fd = opendir($dir);
while ($file = readdir($fd))
{
   if ($file != '.' && $file != '..' && preg_match('#\.jpg$#i', $file))
   {
      rename($dir . $file, $dir . 'med_' . $file);
   }
}
closedir($fd);

?>

Posté : 15 janv. 2008, 18:08
par Invité
bonjour
merci pour votre réponse
je vais tester ca ce soir, et je te répond après

:)

Posté : 15 janv. 2008, 18:26
par titerm
Ou peut etre plus simplement
chdir("PathVersTonDossier");
foreach(glob ("*.jpg") as $file) {
    rename($file, 'med_' . $file);
}

Posté : 15 janv. 2008, 18:55
par Invité
oui c'est plus simple ;)
encore une question
sur ce dossier la, j'ai des photos dont la largeur depasse les 700px
je cherche une fonction pour créer un miniature des photos qui depasse les 700px et remplacer les anciennes ;)
encore plus pratique que de le faire à la main sous photoshop :d
merci d'avance

Posté : 16 janv. 2008, 11:53
par Ryle
Tu sais que tu peux faire des macros sous photoshop pour ce genre de traitement ;) Y a même déjà une option galerie photo qui te génère des vignettes et retaille tes images.. bon ça génère des pages html statique, mais tu peux te contenter de récupérer les photos :)

Sinon en php, tu peux utiliser getImageSize() pour connaitre les dimensions d'une image et imagecopyresized() pour la modifier :)