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 :

input type=file dans bdd


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut input type=file dans bdd
    Bonjour,
    J'ai besoin d'indiquer dans la basse de données le chemin ou sont stocké des fichier pdf et jpg, pour cela j'nsert le chemin dans la basse de données avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" name="fichier_facture_jpg_pdf"/>
    ensuite je lit les données avec un lien dans un tableau array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [<a href="<?php echo $donnees["fichier_facture_jpd_pdf"]; ?> target="_blank"><?php echo $donnees["fichier_facture_pdf"]; ?> - Lien fichier pdf ou jpg</a>
    Le lien s'affiche corectement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L:\Program files 2\wamp\www\maison\commun\images\derivation-200x154.jpg - Fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L:\Program files 2\wamp\www\maison\commun\pdf\facture-0001.pdf - Fichier
    Mais lorsque je clique sur le lien aucune fenêtre du navigateur s'ouvre.

    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Supprimes cet attribut du lien.
    target="_blank"
    Utilises un chemin relatif pour ton application soit portable.

    A+.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut
    Bonsoir,

    Je ne comprend pas ce qui ce passe, j'ai créer un fichier test, le code upload a bien transféré le fichier dans le repertoire de destination $content_dir, mais dans le repertoire destination impossible de voir le le fichier avec le navigateur, j'ai beau actualiser la page rien, et lorsque je clique sur le lien dans ma base de données j'ai une erreur 404, parcontre lorsque je fait un copier coller avec l'exploreur de fichier de windows dans le repertoire de destination le navigateur voit le fichier et le lien de la base de données fonctionne

    Pourquoi ?
    Voir l'image en bas de la page.

    Tout le code
    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
     
    <?php
     require ('login.php');
    	$link = mysql_connect("$hote", "$login", "$pass") or die('Erreur SQL !<br>' .$link. '<br>'. mysql_error()); // Requête SQL
        $req = mysql_select_db($bdd, $link) or die('Erreur SQL !<br>' .$req. '<br>'. mysql_error()); // Requête SQL
     
    ?>
     
    <!------------- FORMULAIRE ET CODE PHP POUR UPLOADER LE FICHIER -----------  -->
     
    <form method="post" enctype="multipart/form-data" action="upload.php">
    <p>
    <input type="file" name="fichier" size="30">
    <input type="submit" name="upload" value="Uploader">
    </p>
    </form>
     
     
    <?php
     
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
    $content_dir = 'L:\Program files 2\wamp\www\maison\N4\habitation\vehicules\fichiers\.';
     
    $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'];
     
    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'pdf') )
    {
    exit("Le fichier n'est pas une image ou un fichier Acrobat Reader. Le fichier n'a pas l'extention jpg, bmp, gif ou pdf.");
    }
     
    // 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 été uploadé";
    }
     
     
    /* ------------- ENREGISTRE LE CHEMIN DANS LA BDD -------------  */ 
    $chemin =  '../maison/N4/habitation/vehicules/fichiers/'.$name_file ;
     
     
     
     
     
    $vehicule_id = "2";
    $nom_table_partie1 = "vehicule";
    $nom_table_partie2 = "_entretien";
    $nom_table1 = "vehicules_options";
     
     
    	if(isset($_POST['upload'])) {
     
     
    $nom_table_numero = $nom_table_partie1. $vehicule_id. $nom_table_partie2 ;
     
     		  $query = mysql_query("INSERT INTO $nom_table_numero VALUES('', '$vehicule_id', '$date', '$km_compteur', '$type_entretien', '$effectuer_a', '$montant_ttc', '$chemin', '$commentaire')")or die('Erreur SQL !<br>' .$query. '<br>'.mysql_error()); // Requête SQL
     
     
     
    if($query) {
    echo ' <div align="center"><font face="arial" size="4" color="red">Vos informations ont été correctement enregistré ! </font><br /> ';
    }
    }
     
     
    ?>
    <?php
     
    mysql_close(); // Fermeture de la connexion Mysql
    ?>
    J'ai compris ce qui ce passe, tout les fichier qui sont uploader comporte un point.

    exemple
    image --> 05.jpg ---> .05.jpg
    Fichier --> fichier.pdf --> .fichier.pdf

    Je pense que cela vient de cette ligne la ou est idique le chemin ou est transferé le fichier, car il y a un point a la fin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $content_dir = 'L:\Program files 2\wamp\www\maison\N4\habitation\vehicules\fichiers\.';
    Ce que je ne copend pas c'est que si je retire le point j'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_STRING in L:\Program files 2\wamp\www\maison\N4\habitation\vehicules\upload.php on line 32
    La ligne 32 est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tmp_file = $_FILES['fichier']['tmp_name'];
    Merci d'avance.
    Images attachées Images attachées  

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut
    Bonsoir,

    J'ai trouvé l'erreur, cela été du au slash voila ce qu'il faut mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dossier = 'L:/Program files 2/wamp/www/maison/N4/habitation/vehicules/fichiers/';
    au lien de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $content_dir = 'L:\Program files 2\wamp\www\maison\N4\habitation\vehicules\fichiers\.';
    Merci.

Discussions similaires

  1. [Spip] Ajout d'un <input type=file> dans formulaire ecrire_auteur
    Par La_Castafiore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/07/2008, 23h14
  2. Multisélection dans un <input type=file />
    Par hedgehog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/08/2007, 11h34
  3. Interdire l'écriture dans un input type="file"
    Par jgfa9 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/11/2005, 22h14
  4. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11
  5. style pour le bouton dans input type file
    Par manaboko dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 14h47

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