Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] Renommer en masse sur un serveur FTP


peKKa

Messages recommandés

Bonjour,

 

J'ai uploadé beaucoup de photos, mais dans mon script PHP qui génére un album photos, certaines photos ne sont pas affichées parce qu'elles ont des accents ou autres caractères légérement exotiques. Comment faire pour renommer ces fichiers ? (remplacer les é en e par exemple)

C'est très surement faisable en PHP mais je ne trouve pas de code pour le faire. Ou sinon peut etre que vous connaissez un autre moyen (un client FTP possédant cette fonctionnalité?)

 

Merci beaucoup !

Modifié par coolman
Lien vers le commentaire
Partager sur d’autres sites

Avec un accès shell à ton serveur ç'aurait été plus facile. Là, c'est plus délicat.

A moins de programmer un script PHP qui lit les noms des fichiers du répertoire, et qui fait lui-même les opérations de renommage sur le disque (avec les replace() qui vont bien), je ne vois pas...

Les clients FTP ne sont pas des gestionnaires de fichiers mais ce qu'on pourrait appeler des "gestionnaires de transferts".

Lien vers le commentaire
Partager sur d’autres sites

 <?php
define('BASE', 'upload/');

function renommerFichier($repertoire, $nomFichier) {
$nouvNom = ereg_replace('[éèë]', 'e', $nomFichier);
$nouvNom = ereg_replace('[àä]', 'a', $nouvNom);
$nouvNom = ereg_replace('[ùü]', 'u', $nouvNom);
rename($repertoire . $nomFichier, $repertoire . $nouvNom);
}

function parcourirArborescence($repertoire) {
if (!ereg('/$', $repertoire)) {
	$repertoire .= '/';
}
if (@ $dh = opendir($repertoire)) {
	while (($fichier = readdir($dh)) != FALSE) {
		if ($fichier == '.') {
			continue; // Skip it
		}
		if ($fichier == '..') {
			continue; // Skip it
		}
		if (is_dir($repertoire . $fichier)) {
			parcourirArborescence($repertoire . $fichier); // Récursivité
		} elseif (ereg('[éèëàäùü]', $fichier)) {
			renommerFichier($repertoire, $fichier);
		}
	}
	@ closedir($dh);
}
}

parcourirArborescence(BASE);
?>

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...