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 :

[CSV] importer un CSV sur un serveur


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [CSV] importer un CSV sur un serveur
    Bonnjour,

    Je souhaite envoyer un fichier .csv sur mon serveur (local pour l'instant)

    J'ai fait un formulaire pour choisir un fichier sur le pc et ensuite un upload.php pour importer le fichier... Comme cela...

    Formulaire HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" enctype="multipart/form-data" action="upload.php">
    <p>
    <input type="file" name="fichier" size="50">
    <input type="submit" name="upload" value="Envoyer">
    </p>
    </form>
    Code 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
    32
    33
    34
    <?php
     
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
        $content_dir = 'upload/'; // dossier où sera déplacé le fichier
     
        $tmp_file = $_FILES['fichier']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file) )
        {
            exit("Le fichier est introuvable");
        }
     
        // on vérifie maintenant l'extension
        $type_file = $_FILES['fichier']['type'];
     
    echo "**".$type_file;
     
    	if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') )
        {
            exit("Le fichier n'est pas une image");
        }
     
        // on copie le fichier dans le dossier de destination
        $name_file = $_FILES['fichier']['name'];
     
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
        {
            exit("Impossible de copier le fichier dans $content_dir");
        }
     
        echo "Le fichier a bien &eacute;t&eacute; upload&eacute;";
    }
    ?>
    Le script fonctionne pour l'import d'images et même pour des PDF quand je remplace jpg par pdf dans la ligne de vérification mais impossible d'importer un fichier .csv ou .txt

    La procédure se bloque et m'indique que me fichier n'est pas une image...


    Quelqu'un aurait il une idée...?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut
    Citation Envoyé par jb_du_ferret Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
         (...)
        if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') )
        {
            exit("Le fichier n'est pas une image");
        }
         (...)
    ?>
    L'erreur est dans ton code sur le if que j'ai mis en citation dans lequel tu ne valides que les jpg, jpeg et bmp et pas les txt ni les csv

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut je sais, oui mais...!
    Je sais mais j'ai essayé de remplacer les format d'image par csv, txt et mm sql et ça ne marche pas....

    En fait l'erreur se situe au niveau de la condition qui vérifie le format. Celle ci n'accepte pas les fichiers csv...et je ne trouve pas pourquoi....j'ai enlevé la vérification de l'extension pour pouvoir avancer sur mon projet mais il va bien falloir que je trouve une solution a ce problème...

    Comme dirait l'autre...j'ai reculé pour mieux sauter....!

    Je pense que l'erreur se situe dans la syntaxe au niveau du "strstr" mais je m'avance peut être un peu (beaucoup?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if( !strstr($type_file, 'csv') && !strstr($type_file, 'txt') )
        {
    Si j'importe des images avec le cas précédent, cela marche parfaitement. Mais si je remplace les extensions de fichiers, c'est la fin de haricots...! ya tout qui merde...!

Discussions similaires

  1. importer un csv ou un word sur phpmyadmin
    Par hichamdeb dans le forum Administration
    Réponses: 1
    Dernier message: 06/01/2011, 14h11
  2. [phpMyAdmin] Importation de table sur le serveur web
    Par DEBUTANTPHP dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 15/01/2008, 11h06
  3. [CSV] Télécharger un fichier sur le serveur avec une URL
    Par bolandfranck dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2007, 13h33
  4. Pb gros import de données sur un serveur mutualisé
    Par yakalfer dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 17/09/2006, 13h20
  5. [CSV] Imports Excel CSV à reformater
    Par boteha dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 21h41

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