Modifier le nom d'un fichier lors d'un upload
Je sais. Mais je l'ais déjà lu 5 fois et je n'ai rien appris !!
Sinon je n'aurais never (jamais :p) poster se message !!
______________
bryandu08
Quand l'informatique seras plus facile !!
Hello,
voici le code que j'ai utilisé :
<?php
rename("/home/digitalradio/www/image/188.gif", "/home/digitalradio/www/image/183.gif");
?>
Et voici l'erreur dont j'ai ressu :
Warning: rename(/home/digitalradio/www/image/188.gif,/home/digitalradio/www/image/183.gif) [function.rename]: No such file or directory in /home/.nfs8/digitalradio/www/modif.php on line 2
Et je ne vois pas ou est l'erreur ? :s:s
______________
bryandu08
Quand l'informatique seras plus facile !!
php ne trouve pas le fichier ou n'y a pas accès, peut etre un problème de droit ou de casse (minuscule / majuscule).
plutot que d'utiliser rename, le changement de nom peut se faire simplement dans le move_update_file, c'est tout aussi simple et clair.
@+
Il en faut peu pour être heureux !!!!!
L'erreur, c'est que le fichier /home/digitalradio/www/image/188.gif n'existe pas.
En gros, tu ne connais pas le chemin de ton script sur le système de fichiers. Il est là ton problème.
Avec un print_r($_SERVER); tu peux retrouver cette information.
Mais sinon, l'erreur te donne une information sur ce chemin (No such file or directory in /home/.nfs8/digitalradio/www/modif.php), donc à mon avis, ceci devrait fonctionner :
<?php
rename("/home/.nfs8/digitalradio/www/image/188.gif", "/home/.nfs8/digitalradio/www/image/183.gif");
?>
PS : je partage l'avis de moogil pour move_uploaded_file. Donne le bon nom directement à ton fichier au moment de l'upload plutôt que de le renommer.
le 20/08/2010 à 13:20
naflo
Voila un code qui fonctionne en changeant le nom de l'image par l'id, on considère que l'id est récupéré dans les sessions.
<?php
$id_membre = $_SESSION['id_membre'];//Récupération de l'id du membre dans une variable simple.
$avatar = $_FILES['avatar'];//Dans le formulaire l'input type file doit avoir le nom "avatar".
$extention = strtolower(substr($avatar['name'],-3));//Récupération de l'extension et mise en minuscule.
//Important ! penser à sécuriser les extentions valides dans un tableau.
move_uploaded_file($avatar['tmp_name'],"images/avatar/".$id_membre.".".$extention);
?>
Voila qui devrait donner une réponse au sujet.
Bloc note est mon ami
C'est marrant de répondre deux ans après le dernier message avec un code bogué, complètement ^^;
1. Les extensions de fichier ça n'existe pas. Du moins, ça n'a aucun sens. C'est juste une convention qu'on peut utiliser pour se simplifier la vie.
2. Le posteur original voulait ne pas écraser l'ancien fichier. Avec ta solution, le fichier du membre est systématiquement écrasé.
Bref, on en est pas sorti.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: