Script pour modifier nom des fichiers

Fermé
sofie - 18 mai 2009 à 11:06
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 - 20 mai 2009 à 08:03
Bonjour,

J'aimerai creer un script php(de préférence) pour modifier le nom d'un fichier(150 fichier en fait).

les noms du fichier se présente ainsi:

001 BA REV.flv
013 BA REV.flv
116 BA REV.flv


Moi je veux avoir quelque chose comme ça :
1.flv
13.flv
116.flv


Donc je veux supprimer les "BA REV" , et les "0".

moi j'ai pensé à parcourir tous les fichiers, faire un explode grace à l'espace, mais je sais pas comment lui dire de supprimer les BA REV et les 0.
une idée :s?
A voir également:

8 réponses

chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
18 mai 2009 à 11:43
Bonjour,
Je ne sais pas si il existe une fonction pour supprimer certains caractères en php , tu peux toujours utiliser la fonction ereg_replace (eregi_replace : insensible a la casse) pour supprimer ce que tu souhaite.
ereg_replace(' BA REV', '', $nomdufichier);
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
18 mai 2009 à 12:09
$ba =" BA REV"

$nom_fichier = array ('001 BA REV.flv ' , '013 BA REV.flv ', ...)

$new = str_replace($ba,' ',$nom_fichier)

un truc dans le genre non? Je suis sûr de rien du tout je débute aussi XD
0
chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
18 mai 2009 à 12:14
Oui comme cela par exemple mais si il a 150 fichiers, il va pas s 'amuser à créer un tableau avec 150 noms.
Le plus simple serait d 'utiliser un while et modifer les noms un par un.
https://www.php.net/ereg_replace pour voir ceux que tu peux faire avec cette fonction.
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
18 mai 2009 à 12:38
$ba =" BA REV"

$nom_fichier = array()

while ($row = mysql_fetch_assoc($ba))

$nom_fichier[] = $row['pc']

$new = str_replace($ba,' ',$nom_fichier) ;

Je sais pas bien si sa marche comme ça mais sa ressemblera à sa non? T'en pense quoi chupa ? Hésite pas à me corriger, je suis stagiaire donc bon -_- .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
18 mai 2009 à 13:50
$ba =' BA REV'; 
$fichier = array (fichier1, fichier2);

while ($nomfichier = each($fichier))
{
  ereg_replace($ba, '', $nomfichier);
}
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
19 mai 2009 à 08:03
T'es sûr de ton code chupa?

Parce que là comme tu le disais ça va le faire pour fichier1 et 2 mais il faut qu'il fasse un tableau de 150 fichiers quoi...non? Ca sert à quoi "each" ?
0
chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
19 mai 2009 à 11:30
Le code que j'ai mais c'est si tu veux le faire avec un tableau comme tu le voulais...Donc il doit remplir son tableau avant oui. Mais dans son cas , il doit faire un while en testant qu'il y a un fichier dans le répertoire pas avec un tableau.Ca va donner (pas complet mais l'idée est la):
readdir($repertoire);
while ($fichier = readdir($repertoire))


Et each sert a dire 'pour chaque' ; Pour chaque nomdefichier contenu dans le tableau fichier faire :
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
20 mai 2009 à 08:03
AH oki ^^ ! Bah avec tout ça il devrait avoir la réponse qu'il cherchait ^^! ...s'il répond un jour XD !
0