La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  [Résolu]Envoi + nom de fichier en php
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: [Résolu]Envoi + nom de fichier en php  (Lu 598 fois)
[Résolu]Envoi + nom de fichier en php
« sur: le 13-12-2010 a 16:00:10 »
chelmi81
Membre récent
*

Hors-Ligne

Messages: 5





Voir le Profil
Répondre avec citation

Bonjour,

je souhaite "uploader" un fichier et surtout pouvoir le renommer. Je souhaite qu'il prenne le nom de la personne (via un input) à qui appartient le fichier en question.

Je suis en plein apprentissage du code PHP et après de multiples recherches, j'ai bien compris comment faire pour traiter l'envoi mais j'ai toujours des difficultés à renommer le fichier sans créer une autre erreur.

Le dernier code que j'ai modifié me permet bien de renommer le fichier mais le problème c'est qu'il me fait disparaitre mon extension. Je retrouve donc un fichier qui a bien de la personne mais qui est d'un format inconnu.

Je vous remercie par avance pour toutes vos réponses.

Code HTML.

<html> <body>

<form method="POST" action="30.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />

<p><label for="nom">Nom :</label><input type="text" name="nom" /></p>
<p><label for="photo">Fichier :</label><input type="file" name="fichier" /></p>

<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>

</form>
</body></html





Traitement PHP

<?php

if(isset($_FILES['fichier']))
{
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
  $taille_max = 1000000;
  $dest_dossier = 'fichiers/';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; 
  }
  elseif( file_exists($_FILES['fichier']['tmp_name'])
          and filesize($_FILES['fichier']['tmp_name']) > $taille_max)
  {
    $erreur = 'Votre fichier doit faire moins de 500Ko !';
  }

  if(!isset($erreur))
  {
    $dest_fichier = basename($_FILES['fichier']['name']);
    $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
   
    $dest_fichier = $_POST ['nom'];
 
    move_uploaded_file($_FILES['fichier']['tmp_name'], $dest_dossier . $dest_fichier);
  }
}

?>

« Dernière Édition: le 22-12-2010 a 11:46:20 par ToToMaStEr » Rapporter au modérateur  

Re:envoi + nom de fichier en php
« Répondre #1 sur: le 13-12-2010 a 17:12:48 »
chelmi81
Membre récent
*

Hors-Ligne

Messages: 5





Voir le Profil
Répondre avec citation

Je suis désolé mais il y a eu une erreur dans mon code et je n'ai pas pu modifier directement mon post...

if( !in_array( substr(strrchr($_FILES['fichier']['name'], '.'), 1), $extensions_ok ) )

à la place de

if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )

Rapporter au modérateur  
Re:RESOLU envoi + nom de fichier en php
« Répondre #2 sur: le 13-12-2010 a 19:12:06 »
chelmi81
Membre récent
*

Hors-Ligne

Messages: 5





Voir le Profil
Répondre avec citation

J'ai collé une variable extension derrière le nom après l'avoir récupérée.

move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier .$extension);


Merci quand même

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg