Renommer fichier lors d'un upload php

Résolu/Fermé
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 - 26 janv. 2015 à 15:14
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 3 févr. 2015 à 20:04
Bonjour,
voila jai ce code la

$menu=$_POST['menu'];
                                $enfant=$_POST['menu'];
                                $pers_age=$_POST['menu'];
                                $semaine=$_POST['menu'];
                                
                               if ($menu=$enfant)
                               {
                                                             
                                   $menuenfant = preg_replace('menu enfant');
                                   move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' .basename ($menuenfant)); 
echo "votre fichier est mtn renomme".$menuenfant
                                    }			


mais je n'y arrive pas comment faire.

sur mon formulaire jai trois btn radio et un champ pour uploader les fichiers.
A voir également:

2 réponses

hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
29 janv. 2015 à 20:13
Bonsoir,

Vous devez avoir un beau message d'erreur non ?

Tout d'abord, pourquoi assigner la même donnée
$_POST['menu']
à 4 variables différentes ?

De plus, la fonction
preg_replace()
prend trois arguments : le texte à rechercher, celui par lequel le remplacer et enfin dans quel variable appliquer cette modification.

Enfin, il manque un paramètre important à votre fonction
 move_uploaded_file()
: le chemin d'accès ainsi que le nom du fichier. Le mieux c'est que je vous donne un exemple :

$chemin = "{$_SERVER['DOCUMENT_ROOT']}/images/nom_du_fichier.jpg";
move_uploaded_file($_FILES['img']['tmp_name'], $chemin);


En espérant que vous y verrez plus clair,

hharchi9.
0
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 2
Modifié par sofiane3993 le 30/01/2015 à 10:38
post menu car dans tout les cas le menu ne pourra etre choisi qu'une seule foi mais je vois ce que vous voulez dire je vais esayer vos suggestion et je revien vous dire

Dans un monde ou plus personne ne fais attention aux autres il est bon de voir que l'entraide existe encore.
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
30 janv. 2015 à 19:58
Si vous avez des questions n'hésitez pas ! Dans la mesure du possible, j'essaierai de vous répondre.
0
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 2
Modifié par sofiane3993 le 2/02/2015 à 11:29
oh god!!! j'ai réussi :D

<code php><?php
 
 // Ici on teste le fait que le fichier a bien été envoyé et si il n'y a pas d'erreur
 if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
 
                {
                /* La ligne de code ci dessous permet de voir si le fichier n'est pas trop lourd
                * if ($_FILES['monfichier']['size'] <= 1000000)
                * Attention ici 1000000 correspond a 1Mo soit 1 000 000 octets ainsi 
                * si le fichier dépasse 1Mo le fichier est refusé 
                */
                {
                    // Vérification de l'extension du fichier ici .pdf
                    $infosfichier = pathinfo ($_FILES ['monfichier']['name']);
                    $extension_upload = $infosfichier['extension'];
                    $extensions_autorisees = array ('pdf');
 
 
                        if (in_array ($extension_upload, $extensions_autorisees))
                            {
                                //Validation du transfert de fichier
                                    // Le Fichier existe sur le serveur si oui alors impossble de transferer
                                    //if(file_exists('uploads/' . $_FILES['monfichier']['name']))
                                    //{
                                    //die('Impossible de transférer votre fichier car le nom de celui existe déjà.');
                                    //}
 
                            $choix=$_POST['menu'];
                        if ($choix == 'enfant')
                            {
                            /*
                            * $nouveau_nom = date('Ym') . '_' . $_FILES['monfichier']['name'] . '.' ;
                            * move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' .basename ($nouveau_nom));
                            * echo "votre fichier a été transférer<br /><br />";
                            * echo "nous sommes le : ". strftime ("%d %m %Y ", filemtime("uploads/"));
                            */ 
 
                                $menu = "menu enfant" ;
                                move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/menu_enfant.pdf');
 
                            }                                                            
                        else if ($choix='pers_age')
                            {
                            $menu = "menu personne agée" ;
                            move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/menu_personne_agee.pdf');
                            }   
 
                        else if ($choix='semaine')
                           {
                           $menu = "menu de la semaine" ;
                           move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/menu_de_la_semaine.pdf');
 
                           }}}
                        echo "Votre Fichier a bien été envoyé";
                            }
                        else 
 
                        echo "transfert impossible car votre fichier n'a pas la bonne extension "
                           . "nous rappelons que les fichiers pouvant être transférer sont des pdf <br>"
                           . "merci de votre compréhension<br /><br />"
                           . "<a href= 'formulaire.html'> retour</a>";       
                        
?>


merci hharchi9 d'avoir pris du temps pour me répondre, j'avais mal ecrit les adresses url final....
le genre d'erreur sur lesquel tu passe trois plombes sans les voirs......
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
3 févr. 2015 à 20:04
De rien bonne continuation à vous !
0