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

  FORUM HardWare.fr
  Programmation
  PHP

  Renommer fichier à l'upload

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Renommer fichier à l'upload

n°1683712
nardoum
The cake is a lie...
Posté le 07-02-2008 à 22:52:07  profilanswer
 

Salut,
 
j'ai pris un code d'upload sur un autre site, et j'aimerais rajouter des lignes pour renommer le fichier si il éxiste, genre fichier(2) etc... Mais j'ai penser que si le fichier fichier(2) existe, je ne sais pas comment faire pour que ça devienne 3 et ainsi de suite voila le code:
 
 

Code :
  1. <?php
  2. $dossier = 'upload-avatar/';
  3. $fichier = basename($_FILES['avatar']['name']);
  4. $taille_maxi = 100000;
  5. $taille = filesize($_FILES['avatar']['tmp_name']);
  6. $extensions = array('.png', '.gif', '.jpg', '.jpeg');
  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...';
  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.           ///////////////////////////////
  25.  //       Renommer            //
  26.  ///////////////////////////////
  27.      // Voila les codes que j'ai rajouter, j'aimerais qu'on me les ameliore
  28.      // if(file_exists($fichier)) {
  29.      // $fichier == $fichier
  30.      // }
  31.  ///////////////////////////////
  32.  //       Renommer            //
  33.  ///////////////////////////////
  34.  
  35.      if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  36.      {
  37.           echo 'Upload effectué avec succès !';
  38.      }
  39.      else //Sinon (la fonction renvoie FALSE).
  40.      {
  41.           echo 'Echec de l\'upload !';
  42.      }
  43. }
  44. else
  45. {
  46.      echo $erreur;
  47. }
  48. ?>


 
 
Le code que j'ai rajouter:

Code :
  1. if(file_exists($fichier)) {
  2. $fichier == ''.$fichier.'(2)';
  3. }


 
Merci de m'aider !

mood
Publicité
Posté le 07-02-2008 à 22:52:07  profilanswer
 

n°1683714
astryad
Posté le 07-02-2008 à 23:00:25  profilanswer
 

Si tu veux être sur d'avoir un fichier qui n'existe pas, tu peux rajouter le timestamp au lieu d'un nombre fixe.
 
Sinon, tu peux écrire la valeur max dans un fichier texte, et au moment où tu renommes ton fichier, tu lis la valeur dans ce fichier et la remplace pour le prochain upload.

n°1683728
nardoum
The cake is a lie...
Posté le 07-02-2008 à 23:12:56  profilanswer
 

Ah oui bonne idée merci ^^

n°1683785
nardoum
The cake is a lie...
Posté le 08-02-2008 à 08:22:10  profilanswer
 

Meci, et encore une choes s'il vous plaît...
Vous pouvez me rajouter des lignes de codes pour maximiser la taille par 117x117px ?
Meci ^^

n°1683796
FlorentG
Unité de Masse
Posté le 08-02-2008 à 09:18:10  profilanswer
 

On peut pas te rajouter (on n'a pas le temps et c'est hors charte), mais dirige-toi vers l'extension GD qui permet de faire ça

n°1683952
nardoum
The cake is a lie...
Posté le 08-02-2008 à 13:27:02  profilanswer
 

Je comprends pas trop, ce que j'essaie de faire,c'est
if($tailleimage  < 117x117px)
{ echo "erreur";}
Vous pouvez m'aider s'il vous plaît... :(  
 
Je veux juste verifier si la taille est plus grand que 117x117px...

n°1683954
FlorentG
Unité de Masse
Posté le 08-02-2008 à 13:30:41  profilanswer
 

Comme dit, regarde du côté de la lib GD. La fonction getimagesize permet de récupérer des infos sur une image (et de vérifier que c'est une image valide).
 
Après les fonctions imagecreatefromjpeg, imagecreatefrompng etc. permettent de créer une image GD, et la fonction imagecopyresampled peut la redimensionner


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

  Renommer fichier à l'upload

 

Sujets relatifs
Cherche un script pour afficher un fichier csv[Résolu] Remplacer des caractères par d'autres dans un fichier texte
Redirection d'une commande vers un fichierOuvrir un réseau ftp et compter le nombre de fichier
[c++]faire un grep dans un fichier (newbie style..)EXCEL VBA Drag&Drop de fichier
[fichier.bat]Un programme qui fermerait tous les dossiers actifsapplet d'upload de fichier
Probleme formulaire d'upload, renommer le fichier[PHP] Upload et sécurité : renommer le fichier suffit ?
Plus de sujets relatifs à : Renommer fichier à l'upload


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