Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1639 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme formulaire d'upload, renommer le fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme formulaire d'upload, renommer le fichier

n°1633779
b440
Posté le 30-10-2007 à 13:44:51  profilanswer
 

Bonjour,
 
Grand debutant en php je me permet de soliciter votre aide, et je vous en remercie par avance.
 
Je vous explique mon probleme, j'ai formulaire d'upload (voir ci dessous) qui me convient à 2 chose pres...
 
le premier probleme:
 
Comment faire pour renomer le fichier (nom inscrit dans le champ "nom"-"nom du fichier original".extention)
 
et le deuxieme:
 
comment faire pour que, lorsque la personne clique sur commander, le site pascule sur une "page d'attente" (anime flash par exemple) pendant l'upload de sont fichier...
 
Voici le code du formulaire:
 

Code :
  1. <body>
  2. <form method="POST" action="upload.php" enctype="multipart/form-data">
  3.      <p>
  4.      <input type="hidden" name="MAX_FILE_SIZE" value="8339040">
  5.      Fichier : <input type="file" name="avatar" />
  6.   </p>
  7.   <p>Nom:
  8.  <label>
  9.        <input type="text" name="ClientName" />
  10.     </label>
  11.   </p>
  12.  <input type="submit" name="envoyer" value="Commander">
  13. </form>
  14. </body>
  15. </html>


 
et le code de traitement:
 

Code :
  1. <?php
  2. $dossier = 'test/';
  3. $fichier = basename($_FILES['avatar']['name']);
  4. $taille_maxi = 8339040;
  5. $taille = filesize($_FILES['avatar']['tmp_name']);
  6. $extensions = array('.png', '.gif', '.jpg', '.jpeg','.JPG');
  7. $extension = strrchr($_FILES['avatar']['name'], '.');
  8. //Début des vérifications de sécurité...
  9. if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  10. {
  11.      $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
  12. }
  13. if($taille>$taille_maxi)
  14. {
  15.      $erreur = 'Le fichier est trop gros...';
  16. }
  17. if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
  18. {
  19.      //On formate le nom du fichier ici...
  20.      $fichier = strtr($fichier,
  21.           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  22.           'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  23.      $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  24.      if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  25.      {
  26.           echo 'Upload effectué avec succès !';
  27.      }
  28.      else //Sinon (la fonction renvoie FALSE).
  29.      {
  30.           echo 'Echec de l\'upload !';
  31.      }
  32. }
  33. else
  34. {
  35.      echo $erreur;
  36. }
  37. ?>


 
 
je vous remercie pour votre future aide....


Message édité par b440 le 30-10-2007 à 13:46:07
mood
Publicité
Posté le 30-10-2007 à 13:44:51  profilanswer
 

n°1633858
FlorentG
Unité de Masse
Posté le 30-10-2007 à 14:50:17  profilanswer
 

Je ne vois absolument pas le problème de renommage de fichier... Suffit de  modifier ta variable $fichier.
 
Pour la page d'attente, t'as dû remarquer que 95% de sites n'en ont pas, ce qui veut dire que ce n'est pas possible. C'est un problème de navigateurs, qui se content d'envoyer sans donner de feedback à l'utilisateur. Et on ne peut presque rien faire, c'est un problème de protocole avant tout.
 
Des sites comme youtube utilisent un flash ou du java pour faire ça mieux. Comme je vois que c'est de l'upload d'avatar, c'est pas trop grave, les gens vont quand-même pas envoyé des trucs dingues, ils n'ont cas attendre, ce à quoi ils sont déjà habitués :)

n°1633876
JeJe_80
Posté le 30-10-2007 à 14:59:52  profilanswer
 

Pour l'attente tu peut utiliser le javascript :

 

sur l'évenement onclick de ton bouton "Commander" tu peux ouvrir une pop-up ou un <div></div> contenant un gif animé d'attente.

 

j'avais fais comme ça pour un site d'upload et de partage de photos, ça marchait plutôt pas trop mal :)

 
FlorentG a écrit :

 

Des sites comme youtube utilisent un flash ou du java pour faire ça mieux. Comme je vois que c'est de l'upload d'avatar, c'est pas trop grave, les gens vont quand-même pas envoyé des trucs dingues, ils n'ont cas attendre, ce à quoi ils sont déjà habitués :)

 


pas bien : tu as la vision de facilité du développeur et non celle du confort d'utilisation pour l'internaute lambda :D

Message cité 1 fois
Message édité par JeJe_80 le 30-10-2007 à 15:02:18
n°1633907
FlorentG
Unité de Masse
Posté le 30-10-2007 à 15:15:13  profilanswer
 

JeJe_80 a écrit :

pas bien : tu as la vision de facilité du développeur et non celle du confort d'utilisation pour l'internaute lambda :D


Je suis quand-même d'avis qu'il faudrait implémenter dans les navigateurs une autre solution. Pour l'instant, y'a rien à faire :(

n°1633938
b440
Posté le 30-10-2007 à 15:53:49  profilanswer
 

merci pour ta reponse,
 
mais comment modifier ma variable ?  
 
noob inside...

n°1633940
b440
Posté le 30-10-2007 à 15:57:28  profilanswer
 

merci jeje je vais creuser l'idée du div.
 
le formulaire risque d'etre utilisé pour uploader des photo, je pense qui si un client clique sur commander et rien de special ne s'ouvre ou bouge il risque de ce dire que ça ne marche pas...

n°1634047
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 30-10-2007 à 18:56:31  profilanswer
 

bin à la place de :
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie
 
tu utilises :
 
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . 'nouveau_nom_prefixe-'.$fichier)) //Si la fonction renvoie


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1634314
b440
Posté le 31-10-2007 à 09:05:41  profilanswer
 

Yes, ça marche!!!!
 
Merci pour votre aide!!

n°1993699
Cuoreconle​ali
Posté le 17-05-2010 à 15:11:42  profilanswer
 

Bonjour,  
 
j'ai un soucis j'utilise la même chose que vous mais je voudrais que les photos soient renommées par le login de la personne comment faire ??

n°1994038
rufo
Pas me confondre avec Lycos!
Posté le 18-05-2010 à 13:07:52  profilanswer
 

ben du met le login du user connecté dans le nom du fichier en 2ième paramètre de la fonction move_uploaded_file :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme formulaire d'upload, renommer le fichier

 

Sujets relatifs
petit question sur un petit problémeRecuperer des valeurs dans un fichier xls.
[RESOLU] probleme counterProblème entre excel et vb
fichier isoProbleme de menu
[access] Créer un état à partir d'un formulaireProblème avec la fonction Exif
verifier plusieurs champs d'un formulaire dans une meme fonction[Résolu] Lecture dans un fichier avec GetPrivateProfileString
Plus de sujets relatifs à : Probleme formulaire d'upload, renommer le fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR