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

jQuery Discussion :

plugin UPLOADIFY, controle du nom de fichier


Sujet :

jQuery

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut plugin UPLOADIFY, controle du nom de fichier
    Bonjour, je viens à l'aide car je ne trouve pas de réponse ou d'exemple sur le net, même sur le forum dédié à Uploadify.

    Mon projet serait de controler le nom de fichiers avant transfert.

    Le script fonctionne actuellement. (C'est un multi-upload qui n'accepte que le pdf).

    Mon nom de fichier doit commencer par 5 chiffres et ne pas contenir d'accent et ne pas exister dans ma base de données. Ces différentes requêtes sont dans l'upload.php avec un echo error1 / 2 / 3 else = upload

    Dans la partie js de l'uploadify, je voudrais dire quelquechose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function(){if(result==error1) { alert("Le fichier XXX  ne commence pas par 5 chiffres, il ne sera pas uploadé, les autres si ");   }
    if(result==error2) { alert("Le fichier XXX existe dans la base, il ne sera pas uploadé, les autres si");   }
    if(result==error3) { alert("Le fichier XXX contient des caractères interdit, il ne sera pas uploadé, les autres si");   }
    if(result==OK) { // Uploadify...   }

    Pourriez-vous m'aider, j'ai du mal à trouver une solution? Comment liéer le resultat du fichier externe upload.php et le code javascript? Pour infos le code natif est ici : http://www.uploadify.com/implementation/

    Merci beaucoup, je commence à désésperer de la possibilité de mon projet.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Si je comprend bien, tu souhaites tester avant l'upload la structure du nom? C'est bien cela?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    Oui, c'est ça. C'est un multi-upload.

    Par exemple, j'ai 4 fichiers, je selectionne les 4 et les ajoute dans la file d'attente :

    12345_test.pdf
    12345_test1.pdf
    12345_testà.pdf
    test5_.pdf


    La une (ou plusieurs suivant le nombre d'erreur) alert arrive signifiant que
    12345_test1.pdf existe déjà dans le dossier (la vérification est une requete dans une base de donnée), ensuite, 12345_testà.pdf est invalide car il a un caractère non-autorisé (expression regex) ensuite test5_.pdf ne commence pas par 5 chiffres (expression egex). Les 4 fichiers sont toujours dans la liste d'attente (si possible les griser pour dire qu'ils sont incorrectes) et lorsque que l'on clique sur envoyer j'ai 12345_test.pdf qui est uploadé.

    Est-ce faisable?

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Vérifier la structure d'un nom de fichier dans une base de donnée ou autre est faisable. Regarde du coté de jquery et de la fonction ajax.

    Voici un de mes vieux scripts:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    $("#commentaireformulaire").submit(function()
    	{
    		//recuperation de la valeur qui de l'id #adresse
    		var pseudonyme = $("#pseudo").val();
    		var adressemail = $("#mail").val();
    		var comment = $("#commentaire").val();
    		var total = "0";
    	/* Pseudo Long */
    		if(pseudonyme.length > 30)
    		{
    			var total = "1";
    			$("#formulairecommentairebox").html('Votre pseudo est trop long ! (30 caractères MAX !');
    		}
    		if(pseudonyme=="")
    		{
    			var total = "1";
    			$("#formulairecommentairebox").html('Indiquez votre pseudo');
    		}
    	/* Mail */
    		if(comment=="")
    		{
    			var total ="1";
    			$("#formulairecommentairebox").html('Indiquez votre message');
    		}
    		mailvalide = new RegExp ( "^\\w[\\w+\.\-]*@[\\w\-]+\.\\w[\\w+\.\-]*\\w$", "gi" ) ;
    		if(adressemail != '' && adressemail.search(mailvalide) == -1)
    		{
    			var total="1";
    			$("#formulairecommentairebox").html("Entrez une adresse mail valide");
    		}
    		if(total == "0")
    		{
    	/* Champ anti spam complete */
    			var str = $("form").serialize();
    				//lancement de la requete ajax pour envoyer l'adresse dans le fichier newsletter.php qui enregistrera les nouveaux abonnés
    			$.ajax({
    				url: '../../ajoutcommentaire.php',
    				type: 'POST',
    				data: str,
    				success: function (data)
    				{
    					//renvoie du message pour confirmer ou infirmer l'inscription
    					$("#formulairecommentairebox").html(data);
    					//document.getElementById("formnewsletter").innerHTML=data;
    				}
    			});
    			return false;	
    		}
    	});
    Dans ce code, je récupère le contenu de mes champs input et je l'envoie à une page $.ajax, en méthode post pour l'enregistrer dans ma base de donnée.
    Je pense que tu dois pouvoir récupérer le nom de fichier pour tester via l'attribut onchange() mis en place dans ton formulaire

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    Ok, je teste, mais comment intégrer cela dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $(document).ready(function() {
    	$("#uploadify").uploadify({

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $('#fileInput').uploadify({
    'uploader'  : 'uploadify.swf',
    'checkScript': 'tonfichier.php',
    'script'    : 'uploadify.php',
    'cancelImg' : 'cancel.png',
    'auto'      : true,
    'folder'    : '/uploads'
    });
    });

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Par défaut
    Pour ma part j'utilise uploadify avec class.upload.php
    Cela te permettra surement d'établir de façon plus précise le nom de tes fichiers

    Example de fichier upload.php
    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
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
     
    require_once('class.upload.php');
     
    // cette fonction te permet de te créer un nom de fichier à 5 chiffre de façon aléatoire donc pas de problème de fichier qui existe déjà
     function random($car) {
    $string = "";
    $chaine = "01234";
    srand((double)microtime()*1000000);
    for($i=0; $i<$car; $i++) {
    $string .= $chaine[rand()%strlen($chaine)];
    }
    return $string;
    }
     
    // ta chaine de 5 caracteres
    $chaine = random(5);
     
    			$handle = new Upload($_SERVER['DOCUMENT_ROOT'].'/up/'.$_POST['tempfile']);
     
    			if ($handle->uploaded) {
    				$handle->file_src_name_body      = $chaine;
    				$handle->image_resize            = true;
    				$handle->image_ratio_y           = true;;
    				$handle->clean(); 
    			} 
    			else {
    				// erreur
    			}
    ?>

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Rappel : il existe un forum PHP, jQuery n'est pas un langage serveur. Ce forum ne doit contenir que le code affiché par votre navigateur.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. controler les nom de fichier en utf8 ?
    Par panthere noire dans le forum Débuter
    Réponses: 2
    Dernier message: 06/03/2012, 15h12
  2. Réponses: 2
    Dernier message: 09/06/2011, 10h39
  3. Réponses: 8
    Dernier message: 10/03/2010, 15h51
  4. Réponses: 3
    Dernier message: 03/03/2010, 19h16
  5. Réponses: 1
    Dernier message: 03/02/2010, 17h21

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