Comment fait-on pour renommer un fichier ? [PHP] - Programmation
Marsh Posté le 11-03-2002 à 19:45:34
file déjà les lignes correspondantes de ton code
t'as essayé en utilisant basename() avant ?
Marsh Posté le 11-03-2002 à 19:51:50
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" );
Marsh Posté le 11-03-2002 à 19:57:12
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]
Marsh Posté le 11-03-2002 à 21:11:16
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]
Marsh Posté le 12-03-2002 à 18:31:35
> 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 !
Marsh Posté le 12-03-2002 à 23:10:40
kayasax a écrit a écrit : t sous quel OS ? Shardar ca marche avec le path... |
ouais j'avais un doute avant de poster
wait and see
Marsh Posté le 11-03-2002 à 19:16:04
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...