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 :

Copier photo coté client au dossier PHOTOS coté serveur


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut Copier photo coté client au dossier PHOTOS coté serveur
    bonjour,
    je voudrais copier une photo choisi par l'utilisateur au dossier Photos(coté serveur) je met ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $donnee=$_POST['nom'];
    ....
    if(move_uploaded_file($_FILES[$donnee]['tmp_name'], $dossier . $donnee))
    ....
    je ne peux pas faire ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_FILES['MonInputFILE']['tmp_name'];
    par-ce-que le input est dans une autre page, pouvez-vous m'aider s'il vous plait?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je n'ai pas compris ta problèmatique.

    Ton $_POST['nom'] ca correspond à quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    d'accord je vais vous ecrire le code pour que vous puissiez mieux comprendre
    voila la fonction jquery+ajax qui renvoie mes variables vers mon fichier inserer.php

    Code javascript : 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
     
    $('#img1').live("click",function(){
    				var image=document.getElementById("img").value;
    				image = image.substring(image.lastIndexOf('\\')+1);
    				var image_url=document.getElementById("img").value;
    				if(image!="")
    				{
    				alert("valeur est :"+image+"Url complet est :"+image_url);
    				xmlhttp.open("POST","inserer.php",true);
    				xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    				xmlhttp.send("nom="+image+"&url="+image_url);
    				return false; 
    				}
    				else
    				alert("veuillez selectionner une image !!");
    												});

    puis je met dans mon fichier php ce code :
    Code php : 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
     
    require("connex.php");
    $donnee=$_POST['nom'];
    $url=$_POST['url'];
    $dossier = 'photos/';
    //echo $url;
    $donnee_file=$_POST['url']['name'];
    $Query1 = 'insert into espace (image_log) values ("'.$donnee.'")';
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
     
         //On formate le nom du fichier ici...
         $donnee = strtr($donnee, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $donnee = preg_replace('/([^.a-z0-9]+)/i', '', $donnee);
         //$Result1 = mysql_query ($Query1);
     
         if(move_uploaded_file($donnee_file, $dossier . $donnee)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !<br/>nom image :'.$donnee.'<br/>';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
     
    //.$_FILES['img']['tmp_name'];
    //$nbr=mysql_num_rows($Result);
    mysql_close ($Dbhandle);

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    la doc php dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file ( string $filename , string $destination )
    a mon avis $destination ...


    Et accessoirement ça n'a rien a voir avec jquery car on ne peut pas envoyer de fichier en ajax ...
    il te faut passer par un formulaire que tu soumets de façon traditionnelle pour recupérer un $_FILES ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    d'accord SpaceFrog merci pour ta réponse, j'ai fais des changements et j'ai mis le traitement php dans la même page et ça fonctionne bien, sauf un qu'il y a un petit truc....
    bon je vous envoie le code
    Code php : 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
     
    if (isset($_POST['IMG1']))
    {
     $dossier = 'photos/';
         $fichier = basename($_FILES['img']['name']);
    	 $taille_maxi = 5000000;
    	 $taille = filesize($_FILES['img']['tmp_name']);
    	 $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    	 $extension = strrchr($_FILES['img']['name'], '.');
    	 if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    	 //echo $_FILES['img']['tmp_name'];
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    //echo $fichier;
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
     
     if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '', $fichier);
     
     
         if(move_uploaded_file($_FILES['img']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
              echo 'Upload effectué avec succès !<br/>';
    		  //$Query1 = 'insert into espace (type_log,image_log) values ("appartement","'.$fichier.'")';
    		  //$Result1 = mysql_query ($Query1);
         else //Sinon (la fonction renvoie FALSE).
              echo 'Echec de l\'upload !';
    }
     
    }

    et pour le input type="file" il faut le précéder par un input qui contrôle la taille du fichier, on le donne l'attribut name="MAX_FILE_SIZE" et value="Nombre tres grand" par-ce-que j'ai remarqué qu'il y a un rapport avec le fichier php.ini

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <td>
            <input type="hidden" name="MAX_FILE_SIZE" value="5000000">
    </td>
    <td>
             <input id="img" name="img" type="file" />
    </td>
    <td>
              <input id="img1" type="submit" name="IMG1"  value="Envoyer"/></td>

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    le transfert du fichier est parfait quand il s'agit d'un fichier qui a une extension géré dans le array(...), mais quand j'envoie par exemple un fichier.rar il se passe rien, et le programme ne le copie pas dans le dossier photo (et c'est bien).

    mais il ne me donne pas d'erreur.

    c'est obliger que je renvois une réponse a l'utilisateur au cas ou le fichier n'est pas transmis bien sur. y a t-il quelque chose que j'ai manqué?

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

Discussions similaires

  1. Assets 404 coté client, aucune requête reçue coté serveur
    Par Iradrille dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 27/08/2013, 01h35
  2. Copier un fichier dans un dossier sur le serveur avec PHP
    Par dotnet_kbma dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/01/2010, 21h27
  3. ouvrir un fichier excel coté client
    Par youss dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 27/07/2005, 14h42
  4. [Indy] Intercepter les messages coté client
    Par PpPool dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2005, 10h19
  5. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

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