Bonjour,

J'ai un CGI qui permet l'upload d'un fichier. Il fonctionne bien.
Je veux calculer le hashage MD5 de ce fichier afin de le stocker avec comme nom ce hashage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
    # File descriptor du fichier
    $file_query = $query->upload('fichier');
 
    # Calcul de l'empreinte MD5 du fichier
    my $md5 = Digest::MD5->new;
    $file_name = $md5->addfile(*$file_query)->hexdigest;
 
    # Ouverture en mode binaire du fichier à créer
    open(FILE,">$upload_dir/$file_name") || &Error($query, "Erreur d'ouverture du fichier '$file_name' en ecriture, erreur $!", 1);
    binmode FILE;
 
 
    # Copie du fichier
    while ($bytes_count = read($file_query,$buff,2096)) {
    	$size += $bytes_count;
        print FILE $buff;
    }
    close(FILE);
En supprimant l'étape de calcul du md5 et en donnant comme nom au fichier soit une constante soit le nom du fichier uploadé par l'utilisateur, cela fonctionne très bien, mais la, je ne récupére aucune erreur, mais le fichier n'est pas créé

Quelqu'un saurait-il m'expliquer pourquoi ?

Merci !