Comment renommer mes fichiers uploader ? [Résolu/Fermé]

PopKoRn88 79 Messages postés jeudi 3 septembre 2009Date d'inscription 24 mars 2013 Dernière intervention - 17 juil. 2012 à 09:36 - Dernière réponse :  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";
                }
        }
}
?>





Afficher la suite 

4 réponses

PopKoRn88 79 Messages postés jeudi 3 septembre 2009Date d'inscription 24 mars 2013 Dernière intervention - 17 juil. 2012 à 12:58
+6
Utile
1
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.
Cette réponse vous a-t-elle aidé ?  
Merci énormément !!!! Tu viens de me sauver de 3jours de galère ^^
brute 112 Messages postés samedi 8 mars 2008Date d'inscription 19 juillet 2012 Dernière intervention - Modifié par brute le 17/07/2012 à 10:13
0
Utile
essaye ceci :
$nomFichier = $_FILES['fichier1']["name"] ;  
$NewNomFichier = 'LeNomQueTuVeut';  
rename($nomFichier, $NewNomFichier);

(issu de http://www.commentcamarche.net/forum/affich-3103887-php-renommer-un-fichier)
PopKoRn88 79 Messages postés jeudi 3 septembre 2009Date d'inscription 24 mars 2013 Dernière intervention - 17 juil. 2012 à 11:55
0
Utile
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;
}
?>