Renommer fichier lors d'un upload php

[Résolu/Fermé]
Signaler
Messages postés
64
Date d'inscription
mardi 6 janvier 2015
Statut
Membre
Dernière intervention
10 février 2015
-
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
-
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.

2 réponses

Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
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.
Messages postés
64
Date d'inscription
mardi 6 janvier 2015
Statut
Membre
Dernière intervention
10 février 2015
2
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.
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
Si vous avez des questions n'hésitez pas ! Dans la mesure du possible, j'essaierai de vous répondre.
Messages postés
64
Date d'inscription
mardi 6 janvier 2015
Statut
Membre
Dernière intervention
10 février 2015
2
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......
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
De rien bonne continuation à vous !