Communauté Informatique NDFR.net : Renommer un fichier en fonction des choix sur un formulaire - Programmation Web (HTML, PHP, ASP, Java, XML, etc.)
Reply
Renommer un fichier en fonction des choix sur un formulaire
Thread Tools Display Modes
  #1  
Old 07-06-2007, 16:43
anais anais is offline
Membre junior
 
Join Date: 07-06-2007
Posts: 2
Renommer un fichier en fonction des choix sur un formulaire

Bonjour,
Je voudrais renommer un fichier uploadé à partir d'un formulaire à l'aide de la fonction rename() ou move_uploaded_file(). Pr le moment rien de compliquer.

Mnt ca se complique. Je voudrais que mes fichiers se renomment en fonction des choix que l'utilisateur a fait ds des checkbox de mon formulaire.
C'est à dire, il a le choix entre pls marques et un type d'action pr cette marque. Dc mon image devra se nommer "nomMarque_action.jpg"

Comment puis-je réintégrer le nom de mes input dans le nom de mon image ?

Voilà le code de mon upload et l'affichage des images :

Code:
<?
// Récupération du dossier dans lequel le fichier sera uploadé    
$DESTINATION_FOLDER = 'upload/' ;                                
// Taille maximale de fichier, valeur en bytes                    
$MAX_SIZE = 50000000 ;                                                    
// Définition des extensions de fichier autorisées (avec le ".")
$AUTH_EXT = array( ".jpg", ".jpeg") ;                                            

// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.

function isExtAuthorized($ext){
    global $AUTH_EXT;
    if(in_array($ext, $AUTH_EXT)){
        return true;
    }else{
        return false;
    }
}

// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
if(!empty($_FILES['fichier1']["name"])){    
    // Nom du fichier choisi:
    $nomFichier = $_FILES['fichier1']["name"] ;
    // Nom temporaire sur le serveur:
    $nomTemporaire = $_FILES['fichier1']["tmp_name"] ;
    // Type du fichier choisi:
    $typeFichier = $_FILES['fichier1']["type"] ;
    // Poids en octets du fichier choisit:
    $poidsFichier = $_FILES['fichier1']["size"] ;
    // Code de l'erreur si jamais il y en a une:
    $codeErreur = $_FILES['fichier1']["error"] ;
    // Extension du fichier
    $extension = strrchr($nomFichier, ".") ;
    
    // Si le poids du fichier est de 0 bytes, le fichier est
    // invalide (ou le chemin incorrect) => message d'erreur
    // sinon, le script continue.
    if($poidsFichier <> 0){
        // Si la taille du fichier est supérieure à la taille
        // maximum spécifiée => message d'erreur
        if($poidsFichier < $MAX_SIZE){
            // On teste ensuite si le fichier a une extension autorisée
            if(isExtAuthorized($extension)){
                // Ensuite, on copie le fichier uploadé ou bon nous semble.
                $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER . $nomFichier) ;
                if($uploadOk){
                    echo("L'upload a réussi !<br><br>") ;
                }
            }else{
                echo ("Files with extension $extension can't be upload<br>") ;
            }
        }else{
            $tailleKo = $MAX_SIZE / 1000;
            echo("You can't upload files with higher size than tailleKo Ko.<br>");
        }        
    }else{
        echo("The selected file is not correct <br>");
    }
}else{
    echo("You didn't choose a file<br>");
}

 //ouvre le repertoire
   $pointeur = opendir($DESTINATION_FOLDER) ; 
   $i = 0 ; 

   //stocke les noms de fichiers images dans un tableau
   while ($nomFichier = readdir($pointeur)) {
        $tab_image[$i] = $nomfichier ;
        $i++;
   } 
    
   //on ferme le répertoire 
   closedir($pointeur) ; 
   
   //affichage des images 
   for ($j=0;$j<=$i-1;$j++) 
   {
       $image = '<img src="'.$DESTINATION_FOLDER.'/'.$tab_image[$j].'"/>' ;
    }    
?>
Reply With Quote
  #2  
Old 07-06-2007, 17:45
Matt Matt is offline
Super modérateur
1 Highscore
 
Join Date: 24-12-2002
Posts: 4,453
Dans ton formulaire, les champs que tu as définis on normalement tous un attribut name.
Pour récupérer la valeur de ces champs dans ton code PHP, il faut regarder dans $_POST["valeur_attribut_name"] ou $_GET["valeur_attribut_name"], selon que les valeurs de ton formulaire sont passés en POST (par défaut) ou en GET (visible dans l'attribut method de ta balise form).
Reply With Quote
  #3  
Old 07-06-2007, 18:09
anais anais is offline
Membre junior
 
Join Date: 07-06-2007
Posts: 2
Mes champs ont bien des attributs "name" , mes valeurs de mon form sont passées avc $_POST car à partir de mon formulaire, je génère une page PHP qui reprend les infos de mon formulaire.

Tu vx dire qu'en reprenant simplement mes variables où je stocke les infos de mes marques et des actions, je peux les appeler ds ma fonction move_uploaded_filed() et ca va le faire ?

si on prd ton idée ca donnerait qq chose comme cela :
Code:
move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER . $nomMarque.$nomAction) ;
avec $nomMarque.$nomAction = $nomFichier ;
mais faut savoir que $nomMarque et $nomAction sont des tableaux
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
renommer le bouton démarrer sous win xp sp1 atlas95 Windows NT4/2000/XP Client 11 27-11-2006 08:55
Controle de formulaire basic wuub Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 11 01-10-2005 18:30
[PHP] Renommer une image uploadée bastien Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 20 18-02-2005 09:37
Aide > Formulaire mail de commande wuub Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 10 10-12-2004 16:58
comment renommer le dossier boite de réception ? LeMoi Logiciels 0 11-06-2003 21:27

All times are GMT +2. The time now is 23:08.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.