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 08/09/2007, 14h00   #1
Membre à l'essai
 
Inscription : octobre 2005
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 122
Points : 24
Points : 24
Par défaut [Upload] Code upload de fichier : modifier le nom

Bonjour à tous,

J'ai pris un script php d'upload de fichier sur un site de développement web. Ce script est utilisé pour les avatars sur mon site.
Voici le code :

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
if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'avat/'; // dossier où sera déplacé le fichier
 
    $tmp_file = $_FILES['fichier']['tmp_name'];
 
    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }
 
    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];
 
    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
 
 
 
    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];
 
    if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )
    {
    exit("Nom de fichier non valide");
    }
    else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
    exit("Impossible de copier le fichier dans $content_dir");
    }
 
chmod ($content_dir.$name_file, 0777);
header('Location: page-de-l-avatar.php');
}
Ce code fonctionne très bien.

Mon problème est ailleurs :
Je souhaite changer le nom du fichier avant de le déplacer vers le dossier de destination. J'aimerais que le nom du fichier soit l'id de l'utilisateur logué. L'id de l'utilisateur est contenu dans la variable $id_uti_sess .

Quelqu'un pourrait-il m'aider à modifier le nom du fichier en se basant sur les variables du système que j'ai mis en place ?

Merci d'avance pour votre aide.
__________________
http://www.studiz.fr/
Emotion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2007, 14h10   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
dans ton code, c'est name_file qui est le nom de ton futur fichier donc :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$extension=substr(strrchr($name_file,'.'),1) ;
$name_file=$id_uti_sess.$extension;
if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )
    {
    exit("Nom de fichier non valide");
    }
    else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
    exit("Impossible de copier le fichier dans $content_dir");
    }
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2007, 14h31   #3
Membre à l'essai
 
Inscription : octobre 2005
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 122
Points : 24
Points : 24
Voilà, je cherchais justement à décomposer cette variable afin d'en extraire l'extention. Merci de ton aide.

@+
__________________
http://www.studiz.fr/
Emotion est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h49.


 
 
 
 
Partenaires

Hébergement Web