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 fichier formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut Upload fichier formulaire
    salut

    Je tourne en rond concernant l'upload de fichier (il me semblait que ce script fonctionnait bien l'année derniere...bref...)

    j'ai un script que j'utilise depuis quelques temps, pas tres compliqué, j'ai suivi de nouveau le tuto du zero, plus essayé des scripts simples en copiant/collant le script du zero et developpez.com pour verifier si j'avais une erreur dans mon ecriture...

    A chaque fois, j'ai soit une erreur soit un OK mais de toutes façons le fichier n'est pas uploadé dans le dossier de mon serveur mutualisé OVH
    Sachant que j'ai une partie du site en WP qui fonctionne correctement sur l'envoi de fichier par email avec contactform7

    Probleme de droits CHMOD? il sont soit à 755 ou 777...je vois pas...si quelqu'un sait...merci ....

    Mon script>>
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <?php
    //on vérifie que le champ est bien rempli:
     
     
        if(!empty($_FILES["visuel"]["name"]))
    {
        //nom du fichier choisi:
        $timeline = time();
        $nomFichier    = $timeline . "-" . $_FILES["visuel"]["name"] ;
        //nom temporaire sur le serveur:
        $nomTemporaire = $_FILES["visuel"]["tmp_name"] ;
        //type du fichier choisi:
        $typeFichier   = $_FILES["visuel"]["type"] ;
        //poids en octets du fichier choisit:
        $poidsFichier  = $_FILES["visuel"]["size"] ;
        //code de l'erreur si jamais il y en a une:
        $codeErreur    = $_FILES["visuel"]["error"] ;
     
        //chemin qui mène au dossier qui va contenir les fichiers uplaod:
        $chemin = "upload_noel/" ;
     
     
        if(move_uploaded_file($nomTemporaire, $chemin.$nomFichier))
            echo("") ;
        else
            echo("<br>le transfert a échoué car le format du document n'est pas le bon . Merci de recommencer ;-)") ;
    }//fin if
    else
    {
        echo("Vous n'avez pas choisi d'image...<br>") ;
        echo("<a href=\"xxx.php\">Retour</a><br><br>") ;
    }//fin else
     
    ?>
    <br /><br>
    <?php
     
    // récuperation des variables provenant du formulaire
     
    $nom = $_POST['nom'];
    $representant = $_POST['representant'];
    $CP = $_POST['CP'];
    $ville = $_POST['ville'];
    $tel= $_POST['tel'];
    $enseigne = $_POST['enseigne'];
    $email = $_POST['email'];
    $description = $_POST['description'];
     
     
     
    $_FILES['visuel']['name'];     //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
    $_FILES['visuel']['type'];     //Le type du fichier. Par exemple, cela peut être "image/png"
    $_FILES['visuel']['size'] ;    //La taille du fichier en octets
    $_FILES['visuel']['tmp_name'];
     
    $axept = $_POST['axept'];
    $resa = $_POST['resa'];
     
     
     
    //E-mail auquel sera envoyé le formulaire
    $destinataire = 'xxx@youresto.com';
     
    //sujet du mail envoyé
    $sujet = 'visuel proposé';
     
     
    // création du message, les \n permettent de faire un saut de ligne
     
    $message = "Enseigne : $enseigne\n\n Representant : $representant\n E-mail : $email\n  Cible : $ville\n Telephone : $tel\n Description : $description\n \n   Fichier:  $visuel\n
     Accepté : $axept\n";
     
    // On envoi le mail
    if( mail($destinataire, $sujet, $message) )
     
    // Si tout se passe bien on affiche un message de succès d'envoi
     
    echo("<div class='medium left'><h2>Vos Offres  </h2><img src='images/dossier/noel/buche-youresto.jpg' /><br>Merci :-)<br>Votre participation a bien été envoyée. N'oubliez pas de valider votre reçu
    </div>") ;
    ?>
    A partir de ctte page>>
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <form name="formpub" action="recup-pub.php"  method="post" enctype="multipart/form-data" onSubmit="return verif_formulaire()">
     
    <fieldset>
    <legend >Visibilite eXtreme</legend>
     
    <div class="row">
    <span class="label_dotted">
    Votre Enseigne:
    </span>
    <span class="formw">
    <INPUT required NAME=enseigne size=30>
    </span>
    </div> 
    <div class="row">
    <span class="label_dotted">
    Représentée par:
    </span>
    <span class="formw">
    <INPUT NAME=representant size=30>
    </span>
    </div>
    <div class="row">
    <span class="label_dotted">
    Email: </span>
    <span class="formw">
    <INPUT required NAME=email size=30>
    </span>
    </div>
     
     
    <div class="row">
    <span class="label_dotted">
    Téléphone:
    </span><span class="formw">
    <INPUT NAME=tel size=30>
    </span>
    </div>
    <div class="clear"></div>
    <div class="row">
    <span class="label_dotted">
    Votre visuel pointe vers quelle adresse cible:
    </span>
    <span class="formw">
    <INPUT required NAME=ville size=30>
    </span>
    </div>
     
     
    <div class="row">
    <span class="B-label_dotted">
    Le cas échéant, un texte de moins de 8 mots à mettre sur votre visuel: </span>
    <span class="formw">
    <textarea name=description rows="3" cols="40" ></textarea>
    </span>
    </div>
    <div class="clear"></div>
     
    <div class="row">
    <span class="B-label_dotted">
    Votre visuel:
    <br><i class="title-xxs">N'oubliez pas le nom de votre enseigne dans le nom de ce fichier</i>
    <br />
    </span>
    <span class="formw">
    <INPUT NAME=visuel TYPE=file ID=visuel/>
    </span>
    </div>
     
     
    <div class="clear"></div>
    <div class="row">
    <span class="B-label_dotted">
    AntiRobot: cent plus cent égale (en chiffre)
    </span>
    <span class="formw">
    <INPUT required NAME=verif size=30>
    </span>
    </div>
     
    </fieldset>
     
    <fieldset>
    <legend class="modalite">*MODALITES</legend>
    <p class="modalite">
    </p><br>
    <p class="medium"><INPUT type="checkbox" required name="axept" value="oui"  > J'accepte les modalités</p>
    <br />
    <INPUT TYPE=SUBMIT VALUE=Envoyer>  <INPUT TYPE=RESET VALUE=Effacer>
     </form>
    <script type="text/javascript">
    <!--
    function verif_formulaire()
    {
     if(document.formpub.verif.value != "200")  {
       alert("Veuillez entrer votre bonne réponse");
       document.formpub.verif.focus();
       return false;
      }
      }
    //-->
    </script>
     
     
    </fieldset>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle erreur obtiens-tu ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    sur mon script j'ai "le transfert a échoué car le format du document n'est pas le bon . Merci de recommencer ;-)", ce qui me fait tourner en bourrique.

    Sur les scripts lambda, 1 me dit que le transfert est ok, mais ya pas de fichiers reçus, l'autre me renvoi que je ne peut pas creer (chmod) "Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !"

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà dans ton script, l'erreur n'est pas en adéquation avec le test puisque le test est sur "move_uploaded_file" et l'erreur parle du format de fichier.

    Essaie de mettre le chemin entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin = $_SERVER['DOCUMENT_ROOT'] . "/upload_noel" ;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Déjà dans ton script, l'erreur n'est pas en adéquation avec le test puisque le test est sur "move_uploaded_file" et l'erreur parle du format de fichier.

    Essaie de mettre le chemin entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin = $_SERVER['DOCUMENT_ROOT'] . "/upload_noel" ;
    Ok...plus de message d'erreur :-) mais pas de fichier visible dans mon dossier serveur....

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Ajoute au début du script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ajoute au début du script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    J'imagine que je suis sensé recuperer un message d erreur quelconque...mais rien... :-(

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu as vérifié ce qu'il y avait dans $_FILES ? notamment dans $_FILES["visuel"]["error"].

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Déjà dans ton script, l'erreur n'est pas en adéquation avec le test puisque le test est sur "move_uploaded_file" et l'erreur parle du format de fichier.

    Essaie de mettre le chemin entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin = $_SERVER['DOCUMENT_ROOT'] . "/upload_noel" ;
    Trouvé :-)

    il manque un slash avant le guillemet pour materialiser le dossier
    $chemin = $_SERVER['DOCUMENT_ROOT'] . "/upload_noel/" ;

    ..et là ça à l'air de passer ;-) merci beaucoup sabotage et celira pour votre temps

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Au passage, si plus tard tu as des besoins plus importants : informations temps réel, affichage vignettes, recadrage avant upload, téléchargement de gros fichiers (même sur un mutualisé avec les réglages par défaut) etc., il y a un module d'upload disponible ici.

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

Discussions similaires

  1. Upload Fichier - Formulaire
    Par vivicente dans le forum Langage
    Réponses: 5
    Dernier message: 13/10/2009, 10h01
  2. Erreur upload fichier via formulaire
    Par Telecaster dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 11h30
  3. Pb Upload fichier sans formulaire
    Par fabred dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 08/09/2008, 15h54
  4. uploader fichier + variables formulaires par POST
    Par Petite_Escalope dans le forum C#
    Réponses: 1
    Dernier message: 28/10/2007, 20h03
  5. [Web] Upload fichier via formulaire HTTP
    Par nik00s dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/08/2005, 12h27

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