Renomme un fichier a uploader
Résolu
sofiane3993
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
sofiane3993 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
sofiane3993 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaiterai savoir si il est possible d'insérer automatiquement l'année et le mois quand l'utilisateur va insérer son fichier ou si il faut qu'il le renomme auparavant.
par exemple : 201501_fichier.pdf
j'ai trouver ce code mais peut ton faire ce que je souhaite
je souhaiterai savoir si il est possible d'insérer automatiquement l'année et le mois quand l'utilisateur va insérer son fichier ou si il faut qu'il le renomme auparavant.
par exemple : 201501_fichier.pdf
j'ai trouver ce code mais peut ton faire ce que je souhaite
<?php $fichier = $_FILES['fichier']['name']; $content_dir = 'upload/'; $tmp_file = $_FILES['fichier']['tmp_name']; $file_type = $fichier; $file_type_length = strlen($file_type) - 3; $file_type = substr($file_type, $file_type_length); $file_type = strtolower($file_type); $nouveau_nom = time().'.'.$file_type; move_uploaded_file($tmp_file, $content_dir . $nouveau_nom); ?>
A voir également:
- Renomme un fichier a uploader
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
Bonjour,
Si tu veux l'année et le mois au lieu de l'heure... tu peux remplacer
Par
Si tu veux l'année et le mois au lieu de l'heure... tu peux remplacer
$nouveau_nom = time().'.'.$file_type;
Par
$nouveau_nom = date('ym').'.'.$file_type;
sofiane3993
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
2
je vais essayer
euh j'ai ce message d'erreur qui s'affiche Notice: Array to string conversion in C:\wamp\www\final\formulaire.php on line 34
Mais a vrais dire je ne vois pas ou est le problème
voila mon code :
Mais a vrais dire je ne vois pas ou est le problème
voila mon code :
<html> <body> <head> <title>fin de l'upload</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <?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 ficheir 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à.'); //} $nouveau_nom = date('ym').'.'.$infosfichier; 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/")); } 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 />"; } } ?> </body> </html>
Salut,
La fonction php pathinfo() retourne un tableau, ta variable $infosfichier est donc un tableau.
Si tu veux concaténer l'extension du fichier, tu dois accéder à l'élément 'extension' de ce tableau :
Bonne journée
La fonction php pathinfo() retourne un tableau, ta variable $infosfichier est donc un tableau.
Si tu veux concaténer l'extension du fichier, tu dois accéder à l'élément 'extension' de ce tableau :
$nouveau_nom = date('ym') . '.' . $infosfichier['extension'];
Bonne journée
bon jusque la ok mais j'ai encore une question comment puis je garger quand meme le nom initial du fichier par exemple tout en rejoutant l'année et le mois .
par exemple fichier.pdf devien 201501_fichier.pdf
par exemple fichier.pdf devien 201501_fichier.pdf
daccord merci beaucoup et encore une petite question pour le moment l'année se met avec les deux dernier chiffre on peut mettre l'année complète ou pas par exemple on a pour le moment 1501_nomfichier.pdf est que c'est possible de faire afficher 201501_nomfichier.pdf apres si ce n'est pas possible ce n'est pas grave car vous m'avez deja bien aidé
$nouveau_nom = date('Ym') . '_' . $_FILES['monfichier']['name'] . '.' . $infosfichier['extension'];
Tous les formats possibles de la fonction date() sont disponibles ici : https://www.php.net/manual/fr/function.date.php