Votre question

[Résolu] Nommer un fichier auto

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
29 Août 2007 03:56:35

Bonjour,

J'ai fais un petite script d'upload, il fonctionne mais je coince sur une partie... En fait si j'upload un fichier qui à le meme nom qu'un fichier sur mon FTP il le copie par dessus...

Donc j'aurais aimer savoir comment faire pour renommer chaque fichier automatiquement par exemple: le premier fichier s'appellera 00001.jpg le deuxième 00002.jpg ainsi de suite...

Merci d'avance pour vos futur réponse.

Edit: Une autre petite question... La requête me dis que le fichier est bien uploader mais quand je regarde dans le dossier il n'est pas présent il faut que j'attende bien 5 minutes...

Autres pages sur : resolu nommer fichier auto

a c 232 L Programmation
29 Août 2007 09:44:11

Bonjour,

En PHP tu fais ça ?
Tu as la fonction file_exists(), après, tu peux incrémenter la valeur
29 Août 2007 16:18:50

Salut, oui en Php et je n'ai pas file_exists()... Je sais le faire avec une table SELECT * from table mais là vu que je touche pas au sql, je ne sais pas comment faire.
Contenus similaires
29 Août 2007 16:40:35

file_exist est une fonction php, pas une fonction mysql.
if(file_exist('repertoire/'.$fichier)) {
echo 'existe déja';
} else {
rename($fichier,$fichier.date("hmsdmY"));
}

en gros, cela peut etre une solution : h m s d m Y : heure minute second jour mois année. comme ca ...pas de possibilité a ce que tu es 2 fichier qui se nomme pareil, de plus, tu pourra faire un classement plus facile avec ce type de nomination.
29 Août 2007 18:22:13

Je vois plus ou moins la technique merci Okinou... mais maintenant j'ai un echec de l'upload, je pense que le mieux serait que je poste le code..

  1. <?php
  2.  
  3. //Déclaration des variables
  4.  
  5. $dossier = 'upload/';
  6. $fichier = basename($_FILES['img']['name']);
  7. $taille_maxi = 10000;
  8. $taille = filesize($_FILES['img']['tmp_name']);
  9. $extensions = array('.ico');
  10. $extension = strrchr($_FILES['img']['name'], '.');
  11. $nbre_image = $nbr_img++;
  12.  
  13. //Début des vérifications de sécurité...
  14.  
  15. if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  16. {
  17. $erreur = 'Vous devez uploader un fichier de type ico!<br /><a href="index.php">Retour</a>';
  18. }
  19. if($taille>$taille_maxi)
  20. {
  21. $erreur = 'Le fichier est trop gros...<br /><a href="index.php">Retour</a>';
  22. }
  23.  
  24. if(!isset($erreur))
  25. {
  26. //On formate le nom du fichier ici...
  27. $fichier = strtr($fichier,
  28. 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  29. 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  30. $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  31.  
  32. if(rename($_FILES['fichier']['tmp_name'], "upload/" . $nbre_image . ""))
  33. {
  34.  
  35. if(move_uploaded_file($_FILES['img']['tmp_name'], $dossier . $fichier))
  36. {
  37. echo '<table width="100%">
  38.  
  39. <tr><td colspan="2">Upload effectué avec succès!<td/></tr>
  40.  
  41. <tr><td>Lien direct: </td>
  42. <td><textarea><a href="http://atlantis.12droit.com/upload/" rel="nofollow" target="_blank">http://atlantis.12droit.com/upload/</a>'.$_FILES['img']['name'].'</textarea></td></tr>
  43.  
  44. <tr><td>Lien BBcode : </td>
  45. <td><textarea>[img]<a href="http://atlantis.12droit.com/upload/" rel="nofollow" target="_blank">http://atlantis.12droit.com/upload/</a>'.$_FILES['img']['name'].'</textarea></td></tr>
  46.  
  47. <tr><td>Lien HTML: </td>
  48. <td><textarea><a href="<a href="http://atlantis.12droit.com/upload/" rel="nofollow" target="_blank">http://atlantis.12droit.com/upload/</a>'.$_FILES['img']['name'].'">Mon image</a></textarea></td></tr>
  49.  
  50. <tr><td>Lien META: </td>
  51. <td><textarea><link rel="shortcut icon" href="<a href="http://atlantis.12droit.com/upload/" rel="nofollow" target="_blank">http://atlantis.12droit.com/upload/</a>'.$_FILES['img']['name'].'" type="image/x-icon" /></textarea></td></tr>
  52.  
  53. <tr><td colspan="2"><a href="index.php">Uploader un autre fichier?</a></td></tr>
  54.  
  55. </table>';
  56. }
  57. }
  58. else
  59. {
  60. echo 'Echec de l\'upload!<br /><a href="index.php">Retour</a>';
  61. }
  62. }
  63. else
  64. {
  65. echo $erreur;
  66. }
  67. ?>

30 Août 2007 02:47:54

Ahhh j'ai tout de même réussi grasse à toi Okinou :na: 

Seulement j'ai une petite question les liens s'affiche comme ça

  1. <a href="http://atlantis.12droit.com/upload/02:50:57,30-08-2007.ico" rel="nofollow" target="_blank">http://atlantis.12droit.com/upload/02:50:57,30-08-2007....</a>


Ca ne risque pas d'avoir des problèmes de caractères?

Ou se serai mieux que j'enlève les : les - et la , ?
a c 232 L Programmation
30 Août 2007 12:51:01

oui,enlève les.
De toute manière, il suffit que tu regardes, dans tous les cas, tu auras toujours le même nombre de caractères (12 chiffres).
30 Août 2007 14:39:00

rename($fichier,$fichier.date("hmsdmY" )); ne devrait pas faire :

02:50:57,30-08-2007

mais

02505730082007
30 Août 2007 16:01:27

Oui voilà j'ai enlever en faite j'ai fais un peu autrement.

J'ai fais comme ça

if(move_uploaded_file($_FILES['icone']['tmp_name'], $dossier . $date . $extension))

Et déclarer la viable date avant bien sure. Donc c'est ok merci a vous deux ;) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS