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

Langage PHP Discussion :

Transfert de données du client au serveur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant coût global
    Inscrit en
    Juillet 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant coût global
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 108
    Par défaut Transfert de données du client au serveur
    Bonjour,

    J'ai développé une application sur un site qui permet aux visiteurs de calculer la somme de variables aléatoires par simulation de Monte-Carlo. Pour utiliser cette application, l'utilisateur doit saisir un tableau de données pour décrire les variables.

    Dans la version actuelle de l'application, les variables suivent une loi uniforme et leur nombre est limité à 5, ce qui se traduit par un tableau contenant 10 données comme cela est présenté à l'adresse suivante:

    Je souhaite augmenter le nombre de variables et pouvoir utiliser des lois non uniformes ce qui va augmenter le nombre de données à saisir.

    Question:
    est-il possible de remplacer la saisie manuelle actuelle par un procédé plus pratique pour l'utilisateur ?

    Les données pourraient être renseignées par l'utilisateur dans un fichier (CSV par exemple) sur son PC, fichier qui serait lu par la simulation actuellement développée en PHP sur le serveur.

    Est-il possible de transférer un fichier CSV du poste client au serveur, fichier que l'utilisateur pourrait réutiliser en y apportant éventuellement des modifications.
    Si oui comment faire?
    Si non, existe-t-il un autre procédé permettant de ne pas saisir un grand tableau de données à chaque utilisation de l'application.

    Merci pour vos conseils

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    Il n'y a aucun contraite technique à envoyer un fichier csv ou Excel vers un traitements PHP.
    Votre seule contrainte est côté client et de s'assurer de la bonne uniformisation des données.

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant coût global
    Inscrit en
    Juillet 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant coût global
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 108
    Par défaut Transfert de données du client au serveur
    Merci pour votre réponse rapide et rassurante. Je sais maintenant que c'est possible. Je souhaiterais cependant avoir quelques informations sur la façon de procéder.
    En supposant qu'un utilisateur ait rempli un fichier CSV ou Excel sauvegardé sur son PC, comment puis-je le récupérer sur le serveur pour d'abord le vérifier puis traiter les données. Je suppose que la récupération se fait via un script JavaScript. Comment récupérer un fichier stocké en local à l'aide d'un script. Où l'utilisateur place-t-il son fichier pour que je puisse le lire.
    Je ne sais pas si ma question est claire ou si elle a un sens, mais je remercie toute personne pouvant m'éclairer sur la procédure à suivre.

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 667
    Par défaut
    l'utilisateur peut envoyer un fichier de son ordinateur à l'aide d'un bouton "input type=file"
    https://antoine-herault.developpez.c...ls/php/upload/

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Une fois votre fichier récupérer par l'exemple ci-dessus, voici un petit code tiré de la faq, qui vous permettra de la traiter :

    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
     
    $file = "mon_fichier.csv";
    $taille = 1024;
    $delimiteur = ":";
    /* ouverture en lecture */
    if($fp = fopen($file,"r")) {
        /* extraction d'une ligne */
        while ($ligne = fgets($fp, $taille)) {
            /* extraction champs */
            $tab = explode($delimiteur, $ligne);
            /* affichage des champs */
            foreach($tab as $elem) {
                echo "$elem<br/>";
            }
        }
        /* fermeture fichier */
        fclose ($fp);
    } else {
        echo "Ouverture impossible.";
    }

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ou plus simple :

    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
     
    <?php
    $fichier = "mon_fichier.csv";
    $delimiteur = ":";
    /* ouverture en lecture */
    $file = file($file);
    if ($file) {
        /* extraction d'une ligne */
     
        foreach ($file as $line){
            $tab = explode($delimiteur, $line);
            foreach ($tab as $elem) {
                echo "$elem<br/>";
            }
        }
     
    } else {
        echo "Ouverture impossible.";
    }

Discussions similaires

  1. Transfert de données POST entre deux serveurs
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/09/2016, 21h46
  2. Transfert de données à plusieurs clients
    Par Gentletid dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 18/06/2012, 10h37
  3. [débutant] serveur-client : problème de transfert de données
    Par Mag007 dans le forum Développement
    Réponses: 2
    Dernier message: 19/04/2007, 22h05
  4. Envoyer des données du client au serveur
    Par thetraveller dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 13/07/2006, 22h32
  5. Réponses: 2
    Dernier message: 13/07/2006, 08h26

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