Changeset 68124 in spip-zone


Ignore:
Timestamp:
Dec 4, 2012, 2:49:38 PM (7 years ago)
Author:
kent1@…
Message:

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ù)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/action/ajouter_documents.php

    r66991 r68124  
    317317         * On vérifie que le fichier existe et qu'il contient quelque chose
    318318         */
    319         if (
    320                 !$file['tmp_name']
    321                 OR !@file_exists($file['tmp_name'])
    322                 OR !$infos['taille'] = @intval(filesize($file['tmp_name']))) {
    323                         spip_log ("Echec copie du fichier ".$file['tmp_name']);
    324                         return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
    325         }
    326319        if (is_array($row=verifier_upload_autorise($file['name'], $mode))) {
    327320                if (!isset($row['autozip'])){
    328321                        $row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']);
    329                         return $row;
     322                        /**
     323                         * On vérifie que le fichier a une taille
     324                         * si non, on le supprime et on affiche une erreur
     325                         */
     326                        if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
     327                                spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
     328                                spip_unlink(get_spip_doc($row['fichier']));
     329                                return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
     330                        }else
     331                                return $row;
    330332                }
    331333                // creer un zip comme demande
     
    366368                        $row['fichier']  = copier_document($row['extension'], $file['name'], $source);
    367369                        spip_unlink($source);
    368                         return $row;
     370                        /**
     371                         * On vérifie que le fichier a une taille
     372                         * si non, on le supprime et on affiche une erreur
     373                         */
     374                        if($row['fichier'] && (!$taille = @intval(filesize(get_spip_doc($row['fichier']))))) {
     375                                spip_log ("Echec copie du fichier ".$file['tmp_name']." (taille de fichier indéfinie)");
     376                                spip_unlink(get_spip_doc($row['fichier']));
     377                                return _T('medias:erreur_copie_fichier',array('nom'=> $file['tmp_name']));
     378                        }else
     379                                return $row;
    369380                }
    370381        }
Note: See TracChangeset for help on using the changeset viewer.