Comment renommer mes fichiers uploader ?
Résolu
PopKoRn88
Messages postés
88
Statut
Membre
-
za -
za -
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, ...
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"; } } } ?>
A voir également:
- Comment renommer mes fichiers uploader ?
- Renommer des fichiers en masse - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment renommer son iphone - Guide
- Comment renommer quelqu'un sur instagram - Guide
3 réponses
En fait c'est bon j'ai réussi. Je met mon code pour ceux qui aurait le même problème que moi :
Il faut bien sûre avoir deux champs "id" et "image" dans la base de données.
<?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.
za
Merci énormément !!!! Tu viens de me sauver de 3jours de galère ^^
essaye ceci :
(issu de https://forums.commentcamarche.net/forum/affich-3103887-php-renommer-un-fichier)
$nomFichier = $_FILES['fichier1']["name"] ; $NewNomFichier = 'LeNomQueTuVeut'; rename($nomFichier, $NewNomFichier);
(issu de https://forums.commentcamarche.net/forum/affich-3103887-php-renommer-un-fichier)
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; } ?>