IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Interdire les upload identique


Sujet :

MkFramework

  1. #1
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut Interdire les upload identique
    Salut,

    Je dois uploader des fichier sur mon portail, mais avant de les enregistrer j'aimerais savoir s'il ne sont pas déjà connu de mon portail.
    Pour cela je génère le checksum md5 de chacun de mes fichiers que j'enregistre en base. Pour pouvoir par la suite le comparer avec un nouvel upload.

    J'opère avec le code suivant :

    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
    20
    21
    22
    23
    $tColumnUpload=array('url');
     
    		if($tColumnUpload){
     
                        foreach($tColumnUpload as $sColumnUpload){
                            $oPluginUpload=new plugin_upload($sColumnUpload);
                            //On vérifier que l'upload est bien réel
                            if($oPluginUpload->isValid()){
                                //calculer le checksum du fichier
                                $checksum=md5_file($oPluginUpload->getTmpPath());
                                //Comparer le checksum avec ceux déjà connu.SELECT count
                                $tNbChecksum=model_parcours::getInstance()->findByCheckSum($checksum);
                                if ($tNbChecksum->NbCheckSum < 1){
                                    $sNewFileName=_root::getConfigVar('path.upload').$sColumnUpload.'_'.date('Ymdhis');
                                    $oPluginUpload->saveAs($sNewFileName);
                                    $oParcours->checksum=$checksum;  
                                    $oParcours->event_id=_root::getParam('idEvent');
                                    $oParcours->$sColumnUpload=$oPluginUpload->getPath();
                                }else{
                                }
                            }
                        }
    		}
    Je ne trouve pas quoi mettre dans le else pour qu'un message apparaisse sous mon champ "url" et indique un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'message'=>'Ce fichier a déjà enregistré dans nos bases sous le label : '.$tNbChecksum->label.'.');
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    La gestion du message d'erreur dans le formulaire fonctionne par retour d'un tableau indexé par champ et listant le/les messages d'erreurs
    DOnc un
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return array('url' => array('Ce fichier a déjà enregistré dans nos bases sous le label : '.$tNbChecksum->label.'.'));
    Devrait répondre à vos attentes
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Tu es un AS !

    Merci
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interdire les touche ALT F4
    Par phoon dans le forum Access
    Réponses: 1
    Dernier message: 08/03/2006, 17h24
  2. [Struts]Interdire les cookies
    Par yush dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/02/2006, 13h11
  3. Réponses: 2
    Dernier message: 22/07/2005, 08h52
  4. faire somme de tous les enregistrements identiques
    Par Keraccess dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/07/2005, 11h03
  5. Réponses: 4
    Dernier message: 10/08/2004, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo