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 :

[Upload] Erreur et fatigue font mauvais ménage, j'ai besoin d'aide


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut [Upload] Erreur et fatigue font mauvais ménage, j'ai besoin d'aide
    00:10 , j'en peut plus,

    je taf encore

    plz help !!!

    voila l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Parse error: syntax error, unexpected $end in //==j'ai enlever une partie de l'adresse==\\  /web/v2/test/mail_cand.php on line 386
    pour info, cette ligne est la derniere et ne contiend que ?>

    moi pas comprendre,

    voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    non en fait, il est trop long alors je le met en piece jointe, :aie:  ( j'en peut vraiment plus )
    plz help



  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    D'hab, ce genre d'erreur, c'est que t'as un { ou } en trop dans ton code !

    -> réindente bien ton code, je parri que tu trouve la réponse a ton problème !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Il manque l'accolade de fermeture pour cette fonction

    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
    function _build_headers() {
    
     // creation du header mail
    
     $this->headers= "From: $this->from\n";
    
     $this->to= implode( ", ", $this->sendto );
    
     if( count($this->acc) > 0 ) {
     $this->cc= implode( ", ", $this->acc );
     $this->headers .= "CC: $this->cc\n";
     }
    
     if( count($this->abcc) > 0 ) {
     $this->bcc= implode( ", ", $this->abcc );
     $this->headers .= "BCC: $this->bcc\n";
     }
    
     if( $this->organization != ""  )
     $this->headers .= "Organization: $this->organization\n";
    } //Fin fonction function _build_headers()

  4. #4
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut Aalllleeellouuuyaaa Mes Frere





    JE NE SUIS QU'UN

    JE MERITE QUE CA

    " JE VOUS AIME MES FRERES MERCI "



    PS : ( mais quel idée de bosser à cette heure ci )

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bon dodo

  6. #6
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!
    c'est pas encore fini,

    maintenant j'en ai d'autre mais avant de vous embetter je vais essayer seul a moins que vous ne vouliez vous interressez à une pu**** de variable nommer $nomfichier ou meme encore $_POST['cv'] de son pt'it nom qui refuse de prendre une valeur,
    + une erreur ligne 74,

    la voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function Mail() {
     $this->autoCheck( true );
    }
    je sait qu il manque quelque chose entre les () mais je sais plus quoi ... plz help
    il me manque une variable je croit mais j'arrive pu a la trouver,
    J'ENNNN PEUUUUUU PLUUUSUUUUUUUUUSSS !!!!

    j'en peu plus HAAAAAAAA !!!

    v'la le formulaire :
    cf : piece jointe cand_inscr.php

    et vla le nouvo code :
    voir 2eme fichier

    C' pas encore finit, je croit ke je vais fumer un ... et ke j'y retourne,

    JE SUIS UN ZOMBI CODEUR

    HAAAAAAAAAAAAAAAAAAA!!!!!

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    ca serait quand meme plus pratique si tu postais direct ton code sur le sujet, ou au moins les partie "sensibles"...

  8. #8
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    01:55

    70 lignes pour le formulaire

    et 370 pour le traitement

    j'ai jugé que pour la lisibilité du post ce serait mieux mais si un admin me dit le contraire je ne le referait plus, C'est promis

    PS : PLZZZZ HELP MEEE !!!

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    essaye ça :

    $nomfichier = $_FILES['cv']['name'];

    pour le nom du fichiers... regarde l'aide de PHP pour les autres elements du tableau $_FILES['CV']
    (ça doit etre un truc du style ['cv']['tmp_name'] pour avoir l'adresse du fichier temporaire uploadé que tu devras ensuite copier dans son repertoire définitif)

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Pour ton 2e pb :

    Bon, je test pas vraiment ton code, mais y'a un truc qui me saute quand même dans l'oeil...

    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
     
     
    class Mail {
     
     var $sendto= array();
     var $from, $msubject;
     var $aattach= array();
     
     } // <------------- TA CLASS S'ARRETE ICI !
     
     
    function Mail() { // <----- DONC CECI EST UNE FONCTION, ET NON UNE METHODE
     
     $this->autoCheck( true ); // <-------- DONC CA SERAIT ETONNANT QUE $THIS SOIT KKCHOSE K'IL COMPRENNE VRAIMENT
    }
    cf commentaire si je ne m'abuse...

    * * * Edit * * *

    Indente ton code, ça t'évitera bien des erreurs... et de la fatigue :p

  11. #11
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    02:10
    je crois que je suis trop claquer pour continuer mais bon, tant ke mes yeux s'ouvre je suis là



    ____________________________________________________________


    pour etre honnete, je comprend pas cette expretion,
    nomfichier = $_FILES['cv']['name'];
    et j'appel quoi exactement...

    au pire je reprendrais se post demain si je m'apperçois que je dit vraiment que des conneries enfin bon on verras, pour l'instant, je reste dispo...

    > ps : MERCI A CE KI SUIVE CETTE DISCUTION, ET KI ESSAI D'AIDER UN POVRE PETIT DEVELOPPEUR EN MISERE ...

    PSS: DSL POUR LR LANGUAGE SIMPLIFIé, MAIS Y A UNE HHEURE OU BONN...


    ----------------------------------------


  12. #12
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    le $_FILES['cv'] est a mettre a la place du $_POST['cv']
    c'est LA façon normal de récupérer un fichier uploadé.

  13. #13
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    02:22

    pour gloubi ki a poster juste avant moi, je vais suivre tes conseil mais demain,

    pour se soir, je croit ke c'est trop...

    là c'est bonnnnnn...

    j'ai besoin d'aller finir mon verre et de dire bonjour a mon geu-ban...

    bonne nuit et à demain

    ---------------------------------------------

    , fatalement, plus ça vas moins ça vas

    ps : mon royume pour une solution demain matin...,

  14. #14
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    psss : si qq à un tutorial sur l'histoire de : n'hesiter pas allez a+ les coseur ( heu non coDeur dslé ... )

    PSSSSSSS ( adressé aux admins ) : et pkoi y a pas un smiley ki représente quelq'un de fonsdé ou de bourré ou tout simplement de HS ( ou p'koi y'a pas de fonction d'import de smiley), (ça donnerait pour un forum de developpeur (et quel forum !!!))

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Halala, ces jeunes...

    C'est parti...

    $_FILES est une variable globale (PHP 4.1.0*) au même titre que $_SESSION, $_POST ou $_GET.
    A partir du moment ou tu envois un fichier en utilisant la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form enctype="multipart/form-data" action="_URL_" method="post">
    Apache va automatiquement assigné des valeurs dans la variable $_FILES qui n'est finalement ni plusd ni moins un tableau. Variable que tu récupère donc comme tu le fais d'habitude avec un $_POST ou un $_GET. donc dans l'exemple qui nous interesse, tu remplaces :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nomfichier = $_POST['cv'];
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nomfichier = $_FILES['cv']['name'];
    et tu auras récupéré ton nom de fichiers. Mais juste le nom du fichiers !

    Quand tu envois un fichier avec la méthode précedement explicité, au moment ou ton script PHP va s'executer, le fichier aura déjà été physiquement chargé sur le serveur dans un répertoire temporaire (cf php.ini -> upload_tmp_dir). Il est donc nécessaire ensuite que tu récupère ton fichiers, que tu le mette dans son répertoire définitif et que tu lui rende son nom (ou que tu lui en donne un nouveau, ce que je ne saurais trop de conseillé vu le nombre de personne qui vont t'envoyer un fichier "cv.doc").

    Et c'est précisément là que tu vas pouvoir a gouter a toute la quintécense du $_FILES[] :

    • $_FILES['userfile']['name'] = nom du fichier tel qu'il est sur la machine de l'expediteur du fichier
    • $_FILES['userfile']['tmp_name'] = le nom du fichier en local sur le serveur qui reçoit le fichier (le fichier temporaire dont je te parle plus haut)
    • $_FILES['userfile']['type'] = filtre sur le type utilisé lors de la selection du fichier par l'utilisateur (je suis pas sur, je crois)
    • $_FILES['userfile']['size'] = taille du fichiers en octets
    • $_FILES['userfile']['error'] = code d'erreur en cas de non reception du fichier.


    Donc une fois que tu as récupéré cette variable, t'as plus qu'a mettre le fichier a sa place.

    Allez, un petit exemple vaut parfois mieux qu'un long discour...

    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
     
     
    nomfichier = $_FILES['cv']['name']; 
    if($nomfichier)// recuperation des infos du fichier ok
            {
                    $uploaddir = './dossier_cv/';
                    if (move_uploaded_file($_FILES['cv']['tmp_name'], ($uploaddir.'cv_'.$nom_utilisateur).'.doc')) 
                    {
                            echo '<center>Fichier uploadé !</center><br><br>';
                    }
                    else 
                    {
                        echo 'Erreur d\'upload du fichier...<br> plus de détail : <br>';
                        print_r($_FILES);
                    }
            }
    Note dans l'exemple la variable $nom_user qui remplace le nom original du fichier que l'on aurait obtenu par $_FILES['nomfichier']['name']... de tel sorte, tous les cv recus porte le nom cv_<nom de l'utilisateur.doc>. Cela t'évitera d'avoir 36000 mecs qui upload "cv.doc", ce qui va forcément poser un problème. Note que pour être définitivement tranquil avec le nom du fichiers (puisqu'on peut quand meme avoir plusieurs personne avec le même nom), c'est de mettre en nom de fichier la clé primaire dans la BDD identifiant l'utilisateur qui upload le fichier.


    *$HTTPPOST_FILES si < PHP4.1.0

    PS : ma lecture de chevet et un site monumentalement démentiel (et je pèse mes mots) quand tu as ce genre de problème : http://fr3.php.net/manual/fr/index.php ... mais comment ils font ceux qui n'ont que la MSDN ???

  16. #16
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut Mmmeeeerrrrciiiii
    Ca C'EST DE LA REPONSE

    POUR ETRE HONNETE , JE VERIFIRAIS DEMAIN MAIS AU MOINS JE VAIS POUVOIR ME COUCHER TRANQUILE,

    MERCI MON POULET ( EXPRESSION RéSERVé A MES AMIS TRES PROCHE GENERALEMENT )

    ALLEZ A DEMAIN ...

    ¨PS ; il est 03:47

  17. #17
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut Dslé pour le retard
    Je vais bosser dessus cette semaine et vous promet un suivi sous quelques jours, (et bien entendu classerais la discution si le problème est résolu,

    TO BE CONTINUED...

    PS :

    ENCORE GLOUBI pour ce long post tres precis (et aux autres aussi )

  18. #18
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    ça à pris un peu de temps mais la récupération de la variable fonctionne, et j'ai compris ( enfin je crois ... ) le principe du $_FILES ,

    à tous et bon courage






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

Discussions similaires

  1. [Upload] Erreur sur upload
    Par shub dans le forum Langage
    Réponses: 5
    Dernier message: 18/05/2006, 08h39
  2. [Upload] upload - erreur 3
    Par bouba64 dans le forum Langage
    Réponses: 1
    Dernier message: 21/04/2006, 12h04
  3. [Upload] Erreur Upload
    Par gregal dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2006, 19h01
  4. [Upload] erreur d'upload de logo sur forum
    Par Grand Hibou dans le forum Langage
    Réponses: 4
    Dernier message: 30/01/2006, 18h27
  5. [Upload] Upload : erreur et envoi multiple
    Par linou dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 09h41

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