Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2120 connectés 

 


Dernière réponse
Sujet : [PHP] Comment fait-on pour renommer un fichier ?
Sh@rdar

kayasax a écrit a écrit :

t sous quel OS ?
Shardar ca marche avec le path...  




 
ouais j'avais un doute avant de poster  :ange:  
 
wait and see :hello:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Sh@rdar

kayasax a écrit a écrit :

t sous quel OS ?
Shardar ca marche avec le path...  




 
ouais j'avais un doute avant de poster  :ange:  
 
wait and see :hello:

cyrix > kayasax : oui j'ai déjà essayé tout ça
> Sh@rdar : j'étais déjà allé voir dans la doc PHP mais j'avais pas compris leur explication. J'essaie ce que tu me dis, ça devrait marcher.
Merci à tous !
kayasax t sous quel OS ?
fais un echo de tes variables pour voir
et un  
if(file_exists("$rep_img_small/$old_fichier" ) echo "ok";
ca marche?
 
Shardar ca marche avec le path...

 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

Sh@rdar ok alors c'est normal que ça fonctionne pas, tu ne dois utiliser dans le rename() que le nom du fichier sans aucun path dedans
 
9.28.1 basename  
[Notes en ligne] [Exemples]
Sépare le nom du fichier et le nom du dossier.  
 
string basename (string path)  
basename() prend en paramètre le chemin complet d'un fichier et en extrait le nom du fichier.  
Sous Windows, les caractères (/) et antislash (\) sont utilisés comme séparateurs de dossier. Sous les autres OS, seul le caractère slash (/) est utilisé.  
 
Exemple avec basename()  
 
<?php
  $path = "/home/httpd/html/index.php3";
  $file = basename($path);
  // $file est affecté avec "index.php3"
?>
     
 
 
 
ça donne donc
 
$path = "$rep_img_small/$old_fichier";
$old_fichier = basename($path);
$new_fichier = "nomdufichier";
rename($old_fichier,$new_fichier);
 
ça devrait fonctionner, à toi de voir comment tu veux gérer les anciens / nouveaux noms et répertoires.
 
EDIT : je suis pas sur pour le nom sans path.. t'as vérifié le chmod de tes fichiers ?

 

[jfdsdjhfuetppo]--Message édité par Sh@rdar--[/jfdsdjhfuetppo]

cyrix Non pas de lecture seule.
Pour basename c peut-être ça mais je sais aps comment ça mache ni à quoi ça sert. tu peux m'expliquer ?
Le code :
rename("$rep_img_small/$old_fichier", "$rep_img_small/$new_fichier" );
rename("$rep_img_big/$old_fichier", "$rep_img_big/$new_fichier" );
Sh@rdar file déjà les lignes correspondantes de ton code :sarcastic:  
 
t'as essayé en utilisant basename() avant ?
kayasax juste pour verif tes fichiers sont pas en lecture seule?
cyrix Uuuuuup !
cyrix J'ai essayé avec la fonction rename() mais ça marche pas. Y me met :  
Warning: Rename failed (No such file or directory) in /home/cryx/www/admin/index.php on line 144
 
Warning: Rename failed (No such file or directory) in /home/cryx/www/admin/index.php on line 145
 
Pourtant tous mes chemins sont bons et mes noms de fichier ancien et nouveau sont OK aussi...
 
Si qq'un a une solution...

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)