Comment renommer mes fichiers uploader ?

Résolu/Fermé
PopKoRn88 Messages postés 79 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 24 mars 2013 - 17 juil. 2012 à 09:36
 za - 15 juin 2017 à 17:02
Bonjour, j'ai beau chercher partout et essayer tout j'ai du mal à renommer mes fichiers automatiquement quand je les upload; Quelqu'un pour m'aider ?
J'aimerais que les images prennent la forme img001.jpg, img002.jpg, img003.jpg, img034.jpg, img656.jpg, ...


<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['monfichier']['size'] <= 1000000)
        {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        $nom = "uploads/{$id_membre}.{$extension_upload}";
						$resultat = move_uploaded_file($_FILES['monfichier']['tmp_name'],$nom);
 
						if ($resultat) echo "Transfert réussi";
                }
        }
}
?>





3 réponses

PopKoRn88 Messages postés 79 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 24 mars 2013 13
17 juil. 2012 à 12:58
En fait c'est bon j'ai réussi. Je met mon code pour ceux qui aurait le même problème que moi :

<?php
mysql_connect("localhost","src10d01","64b61s"); 
mysql_select_db("basesrc10d01");

$select = mysql_query("SELECT * FROM aportfolio_info ORDER BY id DESC");
$donnees = mysql_fetch_array($select);

$numero = $donnees['id'];

$dossier = 'uploads/';
$taille_maxi = 10000000;
$taille = filesize($_FILES['monfichier']['tmp_name']);


$extensions = array('.png', '.gif', '.jpg', '.jpeg','.PNG', '.GIF', '.JPG', '.JPEG');




$fichier = basename($_FILES['monfichier']['name']); // indique le nom de ton fichier local
$extension = strrchr($_FILES['monfichier']['name'], '.'); // séparation de ton extension ex : .jpg du nom de ton fichier local

$fichier = "img".$numero.$extension; // renomme $fichier par le nom souhaité en rajoutant $extension


//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{

     $erreur = "Vous devez uploader un fichier de type png, gif, jpg, jpeg";

}
if($taille>$taille_maxi)
{
     $erreur = "Le fichier est trop gros...";
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['monfichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {		  

    mysql_query('INSERT INTO aportfolio_info (id, image) values ("", "'.$fichier.'")');

	echo "Transfert réussi";	  
		     
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de votre upload !<br /><br />';
     }
}
else
{
     echo $erreur;
}
?>


Il faut bien sûre avoir deux champs "id" et "image" dans la base de données.
6
Merci énormément !!!! Tu viens de me sauver de 3jours de galère ^^
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
Modifié par brute le 17/07/2012 à 10:13
essaye ceci :
$nomFichier = $_FILES['fichier1']["name"] ;  
$NewNomFichier = 'LeNomQueTuVeut';  
rename($nomFichier, $NewNomFichier);

(issu de https://forums.commentcamarche.net/forum/affich-3103887-php-renommer-un-fichier)
0
PopKoRn88 Messages postés 79 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 24 mars 2013 13
17 juil. 2012 à 11:55
En fait je suis en même temps sur un autre forum donc je suis sur une piste mais ça ne marche toujours pas. J'utilise l'id de mes articles dans ma base de données car les images seront liées aux articles. Voici mon code si tu peux m'aider:

<?php
$cx =  mysql_connect("localhost","*******","*******");
        if($cx == 0){
            ?>
            <font>ERREUR</font>
            </body></html>
            <?
            exit;
        }
$test = mysql_select_db("basesrc10d01");

$select = mysql_query("SELECT * FROM aportfolio_info ORDER BY id ASC");
$donnees = mysql_fetch_array($select);

$dossier = 'uploads/';
$taille_maxi = 10000000;
$taille = filesize($_FILES['monfichier']['tmp_name']);


$extensions = array('.png', '.gif', '.jpg', '.jpeg','.PNG', '.GIF', '.JPG', '.JPEG');




$fichier = basename($_FILES['monfichier']['name']); // indique le nom de ton fichier local
$extension = strrchr($_FILES['monfichier']['name'], '.'); // séparation de ton extension ex : .jpg du nom de ton fichier local

$fichier = "img001".$extension; // renomme $fichier par le nom souhaité en rajoutant $extension


//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{

     $erreur = "Vous devez uploader un fichier de type png, gif, jpg, jpeg";

}
if($taille>$taille_maxi)
{
     $erreur = "Le fichier est trop gros...";
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     
     $dernier_id = $donnees['id'];
     $fichier = "img".$dernier_id.$extension; // renomme $fichier par le nom souhaité en rajoutant $extension
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['monfichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {		  


	echo "Transfert réussi";	  
		     
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de votre upload !<br /><br />';
     }
}
else
{
     echo $erreur;
}
?>
0