Se connecter avec
S'enregistrer | Connectez-vous

[Résolu] Nommer un fichier auto

Dernière réponse : dans Programmation
Expert Programmation

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

Lassé par la pub ? Créez un compte
Expert Programmation

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.
Expert Programmation

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/" 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/" 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/" 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/" 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. ?>

Expert Programmation

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" 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 , ?
Expert Programmation

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 ;) 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde