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 :

Lien vers un fichier uploadé [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Lien vers un fichier uploadé
    Bonjour,
    J'ai créé un formulaire où les utilisateurs peuvent uploader un fichier (pour l'instant c'est une image). Je fais donc en sorte que l'image soit stockée sur le serveur et le chemin se met directement dans la bdd.
    Je cherche à faire en sorte d'afficher ce chemin mais sous forme de lien, que les utilisateurs puissent dl cette image chez eux. Je ne sais pas du tout comment faire ça, si quelqu'un a une idée...
    Voici mon code :

    tchat.php
    Code php : 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
    <div id="tchat">
    			<?php $base = mysql_connect ("localhost", "root", "");
    			mysql_select_db ("test2");
     
    			$query2 = "SELECT Post, Nom, Prenom, Date, post.ID FROM users, post WHERE post.ID_Users=users.ID ORDER BY Date DESC";
    			$result2 = mysql_query($query2);
    			while($row2 = mysql_fetch_row($result2)){
    				echo "<div id='post'>";
    				$Nom = $row2[1];
    				$Prenom = $row2[2];
    				$Date = $row2[3];
    				echo "<div id='nom'>$Prenom $Nom à écrit :</div>";
    				$post = $row2[0];
    				echo "<div id='message'><p>$post</p></div>";
    				echo "<div id='date'>Posté le $Date</div>";
    				$ID = $row2[4];
    				$query3 = "SELECT Nom FROM users WHERE Login = '".mysql_real_escape_string($_SESSION['login'])."' AND Moderation=1";
    				$result3 = mysql_query($query3);
                                    echo "</div>";
    			}
     
    			mysql_close();
    			?>
     
    		</div>
    		<form enctype="multipart/form-data" action="ajout.php" method="post" id="formulaire">
    			<textarea name="exprime" id="exprime"></textarea>
    			<input type="file" name="fichier"/>
    			<input type="submit" value="Valider"/>
     
    		</form>
    	</body>
    </html>

    ajout.php
    Code php : 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
    <?php $base = mysql_connect ("localhost", "root", "");
    		mysql_select_db ("test2");
    		if (!empty($_POST['exprime'])){
    		date_default_timezone_set('Europe/Paris');
    		$date = date("Y-m-d G:i:s");
    		$query = "INSERT INTO post (Post, Date, ID_Users) VALUES ('".$_POST['exprime']."', '$date', 1)";
    		$result = mysql_query($query);
    		}
     
    		if(isset($_FILES['fichier'])) {
    			if($_FILES['fichier']['size']<3000000000) {
    				$infos = pathinfo($_FILES['fichier']['name']);
    				$extension_upload = $infos['extension'];
    				$extension_autorisees = array('jpg', 'png');
    				if (in_array($extension_upload, $extension_autorisees)) {
    					move_uploaded_file($_FILES['fichier']['tmp_name'], './fichiers/' . basename($_FILES['fichier']['name']));
    					echo "Ok, fichier envoyé";
    					$query2 = "INSERT INTO fichiers (fichier) VALUES ('file:///C:/wamp/www/Tchat_Eva/fichiers/".$_FILES['fichier']['name']."')";
    					$result2 = mysql_query($query2);
    				}
    			}
    		}
    		mysql_close();
     
    		header('Location: tchat.php');
    ?>

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Il ne faut pas enregistrer le chemin avec file dans ta base de données mais un chemin absolu (ou relatif) depuis ton Document_Root. Il te faut aussi garder le nom de l'image en bdd (sinon c'est faisable aussi mais c'est chiant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query2 = "INSERT INTO fichiers (fichier,nom) VALUES ("/Tchat_Eva/fichiers/".$_FILES['fichier']['name'].",".$_FILES['fichier']['name'].")";
    Au passage j'ai corrigé des problèmes d'apostrophes.

    Ensuite, dans ta page d'affichage, tu récupères juste le lien et le nom de l'image et tu n'as plus qu'à faire un lien html avec le nom de l'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/Tchat_Eva/fichiers/monimage.png">monimage.png</a>
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Merci de ta réponse. Le téléchargement marche sur les fichier de type docx mais pas les images, ça me les affiche simplement sur une autre page

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Oui, et ce n'est pas une mauvaise idée, ça permet d'avoir une visualisation du fichier avant téléchargement (où il suffit de faire clic-droit -> enregistrer sous..).

    Si tu veux vraiment forcer le téléchargement, il va falloir pointer vers un script intermédiaire (ton lien doit le cibler).
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    D'accord, merci beaucoup !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/03/2007, 02h47
  2. lien vers un fichier à partir d’un bouton
    Par amelhog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/08/2005, 15h39
  3. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 18h17
  4. Lien vers un fichier en intranet
    Par argoet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/01/2005, 16h04
  5. Lien vers un fichier .xls
    Par Laurent Nève dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/12/2004, 08h57

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