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 :
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éé
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);
Quelqu'un saurait-il m'expliquer pourquoi ?
Merci !
Partager