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

PHP & Base de données Discussion :

Problème avec fopen [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Par défaut Problème avec fopen
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <form enctype="multipart/form-data" action="#" method="post">
           <!-- <input type="file" name="fic" size=="50" id="fichier" value="Veuillez sélectionnez le fichier"/><br/> -->
            <input name="filesToUpload[]" id="filesToUpload" type="file" multiple onChange="listFiles();"/>
            <input type="submit" value="Importer" name="importer" />
        </form>
    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
    <?php 
    	if(isset($_POST['importer']))
    	{
    $fichier=$_FILES['filesToUpload']['name'];
    $cpt=0;
    if ($fichier)
    {
    	$fp = fopen($fichier,"r");
    }
    else{
    // fichier inconnu
    	<p align="center" >- Importation échouée -</p>
    	exit();
    }
    while (!feof($fp))
    {
        // traitement de chaque ligne récupérée 
     }
    fclose($fp);
    ?>
    lorsque j'effectue un upload, il m'affiche ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: fopen() expects parameter 1 to be string, array given in C
    , comme test j'ai placé un après , il me renvoie un tableau contenant les caractéristique de mon fichier. Merci pour votre aide

  2. #2
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Bonjour,

    Tu n'enregistre pas ton fichier sur le serveur, il faut donc utiliser le tmp_name.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['tmp_name'];

    Pour enregister ton fichier sur le serveur il faut utiliser la fonction move_uploaded_file()

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    fais tu verra tout de suite où est ton erreur.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Par défaut
    Citation Envoyé par humitake Voir le message
    Bonjour,

    Tu n'enregistre pas ton fichier sur le serveur, il faut donc utiliser le tmp_name.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['tmp_name'];

    Pour enregister ton fichier sur le serveur il faut utiliser la fonction move_uploaded_file()
    c'est pareil avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['tmp_name'];
    , je n'ai pas besoin d'enregistrer mon fichier sur le serveur

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    T'as une dimension de plus vu que tu utilise name[] pour nommer ton champ input. Convertie en string ça donne toujours 'array'.

    Comme mentionné plus haut, regarde ce que te donnes:
    tu verra tout de suite de quoi je parle

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    fais tu verra tout de suite où est ton erreur.
    voici ce que m'affiche
    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
    array
      0 => string 'C:\wamp\tmp\php2118.tmp' (length=23)
    array
      'filesToUpload' => 
        array
          'name' => 
            array
              0 => string 'MEMBRE1.csv' (length=11)
          'type' => 
            array
              0 => string 'application/vnd.ms-excel' (length=24)
          'tmp_name' => 
            array
              0 => string 'C:\wamp\tmp\php2118.tmp' (length=23)
          'error' => 
            array
              0 => int 0
          'size' => 
            array
              0 => int 9752

  7. #7
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Et que peux-tu en déduire ? Quelle est la valeur de $_FILES['filesToUpload']['name'] ?

    La valeur c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    array
              0 => string 'MEMBRE1.csv' (length=11)
    Ce qui donne 'array' converti en chaine de caractères, il faut donc utiliser $_FILES['filesToUpload']['name'][$i] où $i est le n-ième fichier envoyé.

    Au passage, je tiens à rappeller que c'est documenté ici http://www.php.net/manual/fr/features.file-upload.php et que tu aurais pu lire la doc avant de poster

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Et que peux-tu en déduire ? Quelle est la valeur de $_FILES['filesToUpload']['name'] ?

    La valeur c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    array
              0 => string 'MEMBRE1.csv' (length=11)
    Ce qui donne 'array' converti en chaine de caractères, il faut donc utiliser $_FILES['filesToUpload']['name'][$i] où $i est le n-ième fichier envoyé.

    Au passage, je tiens à rappeller que c'est documenté ici http://www.php.net/manual/fr/features.file-upload.php et que tu aurais pu lire la doc avant de poster
    Oui j'ai vu la documentation avant de poster aussi la documentation est mon premier guide. Selon la doc , l'upload se fait lorsqu'il n'y a pas d'erreur tandis que dans mon cas il n'y a pas d'erreur(quand je fais un il y a dans le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'error' => 
            array
              0 => int 0
    ), c'est à la suite de cela que j'ai posté puisque je ne comprend pas

  9. #9
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Bon visiblement tu m'as pas lu, je vais donc m'efforcer d'être clair:

    Remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['name'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['name'][0];

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Bon visiblement tu m'as pas lu, je vais donc m'efforcer d'être clair:

    Remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['name'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier=$_FILES['filesToUpload']['name'][0];
    Merci , au faite je pensais à autre chose, encore une fois merci pour ton soutiens

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

Discussions similaires

  1. Problème avec fopen
    Par morgan47 dans le forum Langage
    Réponses: 5
    Dernier message: 21/12/2006, 22h47
  2. problème avec fopen
    Par eoberlin dans le forum C++
    Réponses: 10
    Dernier message: 26/08/2006, 20h26
  3. Problème avec fopen
    Par Fonzy007 dans le forum Langage
    Réponses: 2
    Dernier message: 24/07/2006, 18h15
  4. [FTP] Problème avec fopen sur URL
    Par Biboune2008 dans le forum Langage
    Réponses: 14
    Dernier message: 22/06/2006, 17h00
  5. Problème avec fopen
    Par Binouce dans le forum C
    Réponses: 10
    Dernier message: 15/01/2006, 13h59

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