Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2007, 23h52   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 1
Points : 0
Points : 0
Par défaut [Upload] comment éviter les doublons en upload ?

Bonsoir,
j'ai trouver ce script sur le site mais voila, comment peut on faire
si on upload un fichier portant déjà un nom existant dans le répertoire d'upload sans écraser l'ancien.
peut on renommer automatiquement ce fichier pour ne pas effacer l'autre ?
voici le script :

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

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2004
Messages : 777
Points : 527
Points : 527
C'est simple avant de faire move_uploaded_file() tu fait un test avec file_exists().
Si file_exists() renvoie vrai c'est qu'un fichier portant le meme nom existe deja.
Donc a ce moment la tu modifie le nom avant de faire move_uploaded_file()

PS: Pense au balises code Parce que la c'est illisible...
cerede2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 13h59   #3
Membre habitué
 
Avatar de maxime.ohayon
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 113
Points : 100
Points : 100
Par défaut Upload et nom

Moi je te conseil de mettre un nom differents à tout tes fichiers, tu leurs donnes comme nom l'heure et la date du moment d'execution de ton script.
Tu récupere cette valeur par
Par contre tes fichiers auront des noms avec des numéros donc c'est pas top pour t'y retrouver.
maxime.ohayon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 14h28   #4
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 426
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 426
Points : 2 813
Points : 2 813
moi je gère une liste des fichiers le nom utilisateur du fichier sa date de dépôt et le nom sur le disque
exemple
refrence stock.doc 12/02/2006 01:10:28 1a2a5e23e5r3e6a1a1284459fd.upd

le nom sur le disque est un uuid ainsi je peux avoir autant de fichier avec le même nom.

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h30.


 
 
 
 
Partenaires

Hébergement Web