Skip to content
Extraits de code Groupes Projets
Valider db34aa44 rédigé par kent1@arscenic.info's avatar kent1@arscenic.info
Parcourir les fichiers

On revient sur r66991

Après déplacement du fichier dans IMG/, on regarde si on peut récupérer une taille du fichier, si on ne peut pas, c'est qu'il fait 0 octets et donc corrompu (ou problématique et inutile)

On ajoute cette vérification sur la génération du zip (au cas où)
parent 48237103
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -316,17 +316,19 @@ function fixer_fichier_upload($file, $mode=''){ ...@@ -316,17 +316,19 @@ function fixer_fichier_upload($file, $mode=''){
/** /**
* On vérifie que le fichier existe et qu'il contient quelque chose * On vérifie que le fichier existe et qu'il contient quelque chose
*/ */
if (
!$file['tmp_name']
OR !@file_exists($file['tmp_name'])
OR !$infos['taille'] = @intval(filesize($file['tmp_name']))) {
spip_log ("Echec copie du fichier ".$file['tmp_name']);
return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
}
if (is_array($row=verifier_upload_autorise($file['name'], $mode))) { if (is_array($row=verifier_upload_autorise($file['name'], $mode))) {
if (!isset($row['autozip'])){ if (!isset($row['autozip'])){
$row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']); $row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']);
return $row; /**
* On vérifie que le fichier a une taille
* si non, on le supprime et on affiche une erreur
*/
if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
spip_unlink(get_spip_doc($row['fichier']));
return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
}else
return $row;
} }
// creer un zip comme demande // creer un zip comme demande
// pour encapsuler un fichier dont l'extension n'est pas supportee // pour encapsuler un fichier dont l'extension n'est pas supportee
...@@ -365,7 +367,16 @@ function fixer_fichier_upload($file, $mode=''){ ...@@ -365,7 +367,16 @@ function fixer_fichier_upload($file, $mode=''){
$row['fichier'] = copier_document($row['extension'], $file['name'], $source); $row['fichier'] = copier_document($row['extension'], $file['name'], $source);
spip_unlink($source); spip_unlink($source);
return $row; /**
* On vérifie que le fichier a une taille
* si non, on le supprime et on affiche une erreur
*/
if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
spip_unlink(get_spip_doc($row['fichier']));
return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
}else
return $row;
} }
} }
else else
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter